@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}#root{height:100%;min-height:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 80% -10%,#1a9b7a24,#0000 45%),radial-gradient(circle at 0 0,#12785c1a,#0000 40%);background-attachment:fixed;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.45;overflow:hidden}button,a{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0}a{text-decoration:none}.app-shell{flex-direction:column;max-width:520px;height:100%;min-height:0;margin:0 auto;display:flex;position:relative;overflow:hidden}.environment-banner{color:var(--amber);letter-spacing:.12em;text-transform:uppercase;background:#c9903f29;border-bottom:1px solid #c9903f73;flex:0 0 24px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.screen{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.screen-scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.dashboard-screen{--home-action-height:76px;overflow:hidden}.dashboard-scroll{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-bottom:8px;overflow-y:auto}.dashboard-scroll .list{flex:none;min-height:auto;padding-bottom:0;overflow:visible}@media (width<=520px){.dashboard-scroll{padding-bottom:calc(var(--home-action-height) + 24px);scroll-padding-bottom:calc(var(--home-action-height) + 24px)}}.header{flex:none;justify-content:space-between;align-items:center;height:56px;padding:0 14px;display:flex}.brand{letter-spacing:-.02em;font-size:19px;font-weight:700}.brand span{font-weight:600}.screen-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.icon-button{width:44px;height:44px;min-height:44px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;font-size:22px;display:flex}.who-badge{background:var(--surface-2);border:1px solid var(--line);min-height:44px;color:var(--soft);border-radius:24px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.who-badge i{background:var(--teal-bright);border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #22a581cc}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex:none;margin:0 14px 10px;overflow:hidden}.card-head{background:linear-gradient(180deg,#1a2330,var(--surface));border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:11px 15px;display:flex}.card-head h2{font-size:18px;font-weight:600}.card-body{padding:15px}.pill,.sync-badge{border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:600}.pill.ok,.sync-badge.synced{color:var(--teal-bright);background:#22a5812e}.pill.warn,.sync-badge.pending{color:var(--amber);background:#c9903f29}.pill.bad,.sync-badge.attention{color:var(--alert);background:#d9544e29}.pill.configured{color:var(--muted);background:#94a3b824}.rail-card{height:auto;min-height:0}.rail-card .card-body{gap:20px;padding-bottom:18px;display:grid}.rail-wrap{width:100%;min-width:0}.rail-line{background:var(--line);height:2px;margin-bottom:9px}.rail{gap:clamp(1px,.55vw,2px);width:100%;min-width:0;height:38px;display:grid}.hook{background:var(--teal-bright);border:1px solid #0000;border-radius:3px;min-width:0;height:100%}.hook.is-empty{border-color:var(--line);background:0 0}.hook.warning{background:var(--amber)}.hook.alert{background:var(--alert)}.figures{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:0;display:grid}.figure{min-width:0}.figure:last-child{text-align:right}.figure strong{letter-spacing:-.02em;color:var(--teal-bright);white-space:nowrap;font-size:clamp(28px,8.5vw,34px);font-weight:700;line-height:1.05;display:block}.figure strong.alert{color:var(--alert)}.figure span{color:var(--muted);font-size:12px;font-weight:600;display:block}.capacity-warning{color:var(--alert);margin-top:5px;font-size:12px;font-weight:700}.species-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.species-count{background:var(--row);border:1px solid var(--line);text-align:center;border-radius:10px;min-width:0;padding:8px 2px}.species-count strong{font-variant-numeric:tabular-nums;font-size:20px;line-height:1.15;display:block}.species-count span{text-align:center;letter-spacing:0;width:100%;color:var(--soft);white-space:nowrap;margin-top:2px;font-size:clamp(12px,3vw,14px);font-weight:700;line-height:1.2;display:block}.outlet-labels{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:12px;font-size:10.5px;font-weight:600;display:flex}.outlet-labels button{text-align:left;flex:1;align-items:center;gap:7px;min-height:44px;display:flex}.outlet-labels button:last-child{text-align:right;justify-content:flex-end}.outlet-labels b{color:var(--teal-bright);margin-left:6px;font-size:13px}.outlet-labels i{border:1px solid var(--line);width:20px;height:20px;color:var(--teal-bright);border-radius:6px;justify-content:center;align-items:center;font-size:15px;font-style:normal;display:flex}.destination-disclosure{border-top:1px solid var(--line-soft)}.destination-disclosure ul{list-style:none}.destination-disclosure li{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:44px;padding:8px 2px;display:flex}.destination-disclosure li:last-child{border-bottom:0}.destination-disclosure strong{color:var(--teal-bright);font-variant-numeric:tabular-nums;font-size:16px}.destination-disclosure span,.destination-disclosure p{color:var(--muted);font-size:12px}.destination-disclosure p{padding:12px 2px}.disclosure-button{border-top:1px solid var(--line-soft);width:100%;color:var(--soft);justify-content:space-between;align-items:center;min-height:56px;margin-top:13px;padding-top:13px;font-size:13px;display:flex}.disclosure-button span:last-child{color:var(--muted)}.hunter-row{border-top:1px solid var(--line-soft);justify-content:space-between;padding:10px 0;font-size:13.5px;display:flex}.hunter-row b{color:var(--teal-bright)}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;padding:4px 16px 9px;font-size:11px;font-weight:700;display:flex}.section-label button,.section-label a{min-height:56px;color:var(--soft);text-transform:none;letter-spacing:0;align-items:center;font-size:12.5px;display:flex}.list{flex:1;min-height:0;padding:0 14px 6px;overflow-y:auto}.current-carcasses-card{box-shadow:none}.current-carcasses-card .card-head{background:0 0}.current-carcasses-card .card-body{padding:12px}.current-carcasses-sort{min-height:44px;color:var(--soft);white-space:nowrap;font-size:12.5px;font-weight:600}.current-carcasses-list{padding:0;overflow:visible}.current-carcasses-footer{border-top:1px solid var(--line-soft);margin-top:4px}.current-carcasses-footer a{min-height:56px;color:var(--soft);align-items:center;font-size:12.5px;font-weight:600;display:flex}.carcass-row{background:var(--row);border:1px solid var(--line);text-align:left;border-radius:10px;align-items:stretch;width:100%;min-height:72px;margin-bottom:8px;display:flex}.carcass-row.selected{border-color:var(--teal-light);background:#22a5811a}.row-edge{border-radius:3px 0 0 3px;flex:0 0 3px;width:3px}.row-edge.warning{background:var(--amber)}.row-edge.alert{background:var(--alert)}.row-tick{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin:auto 0 auto 12px;display:flex}.selected .row-tick{background:var(--teal);border-color:var(--teal-light)}.row-body{flex:1;min-width:0;padding:12px 14px}.row-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:baseline;width:100%;min-width:0;display:grid}.tag{color:var(--teal-bright);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:start;font-size:21px}.species{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:flex}.carcass-row .row-top .species{letter-spacing:.02em;justify-self:center;font-size:clamp(17px,4.6vw,18px);font-weight:700}.species i{border-radius:2px;flex:0 0 7px;width:7px;height:7px}.age{color:var(--muted);white-space:nowrap;justify-self:end;font-size:14px}.age.warning{color:var(--amber)}.age.alert{color:var(--alert)}.row-sub{color:var(--soft);margin-top:4px;font-size:12.5px;display:block}.actions{padding:8px 14px calc(14px + var(--bot));flex:none;gap:10px;display:flex}.btn{text-align:center;border-radius:11px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:76px;padding:14px 16px;font-size:16px;font-weight:600;line-height:1.25;display:flex}.btn.primary{background:var(--teal);box-shadow:0 6px 18px #12785c66}.btn.neutral{background:var(--row);border:1px solid var(--line)}.btn.ghost{border:1px solid var(--teal-light);color:var(--teal-bright);background:#1a9b7a14}.btn.disabled{background:var(--row);border:1px solid var(--line);color:#5d6878}.btn:disabled{cursor:not-allowed;opacity:.55}.btn small{color:#ffffffb8;margin-top:5px;font-size:12px;font-weight:500}.btn.sm{min-height:56px;padding:10px 14px;font-size:15px}.btn+.btn{margin-top:8px}.carcass-tag-actions{--carcass-tag-control-height:56px;align-items:stretch}.carcass-tag-actions .btn{height:var(--carcass-tag-control-height);min-height:var(--carcass-tag-control-height);border-radius:11px;justify-content:center;align-items:center;padding:10px 14px}.carcass-tag-actions .btn+.btn{margin-top:0}.home-actions{background:linear-gradient(180deg,#0c1320eb,var(--bg) 28%);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;padding:8px 14px 14px;display:grid}.home-actions .btn{height:var(--home-action-height);min-width:0;min-height:var(--home-action-height);border-radius:11px;justify-content:center;align-items:center;padding:14px 16px}.home-actions .btn.directional-action{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px;padding:10px 10px 10px 14px;display:grid;overflow:hidden}.home-actions .btn.directional-action.directional-start{grid-template-columns:32px minmax(0,1fr);padding:10px 14px 10px 10px}.directional-action-copy{z-index:1;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;display:flex;position:relative}.directional-action-icon{z-index:1;color:#f4fffb;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.directional-action-icon svg{width:32px;height:32px;display:block}.directional-action.neutral .directional-action-icon{color:#eef3f8}.home-actions .btn+.btn{margin-top:0}.route-button{background:var(--surface);border:1px solid var(--line);width:100%;min-height:96px;box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:14px;margin-bottom:12px;padding:18px 16px;display:flex}.route-button.primary{border-color:var(--teal-light);background:linear-gradient(180deg,#1a2330,var(--surface))}.route-icon{background:var(--row);border:1px solid var(--line);border-radius:12px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.route-copy{flex-direction:column;display:flex}.route-copy strong{font-size:17px}.route-copy>span{color:var(--muted);margin-top:3px;font-size:13px}.chevron{color:var(--muted);margin-left:auto;font-size:24px}.step-header{align-items:center;gap:10px;padding:0 16px 8px;display:flex}.step-header>span{width:22px;height:22px;color:var(--teal-bright);background:#22a58129;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.step-header strong{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.detail-rows{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:0 14px 10px;overflow:hidden}.detail-row{border-bottom:1px solid var(--line-soft);text-align:left;align-items:center;width:100%;min-height:60px;padding:13px 15px;display:flex}.detail-row:last-child{border-bottom:0}.detail-key{color:var(--muted);flex:0 0 76px;width:76px;font-size:12.5px}.detail-row strong{align-items:center;gap:8px;font-size:16px;display:flex}.change{color:var(--muted);margin-left:auto;font-size:13px;font-weight:600}.species-dot{border-radius:2px;width:9px;height:9px}.streak-chip{color:var(--amber);background:#c9903f29;border-radius:6px;margin-left:8px;padding:3px 8px;font-size:12px;font-weight:700}.entry-required{color:var(--amber);text-align:center;margin:-2px 16px 8px;font-size:12px}.entry-action-message{color:var(--amber);text-align:center;margin:-2px 16px 8px;font-size:12px;font-weight:600}.viewfinder,.viewfinder *{pointer-events:none}.viewfinder{border:1px solid var(--line);background:radial-gradient(120% 80% at 50% 40%,#1f2a38 0%,#121a26 55%,#0a1018 100%);border-radius:16px;flex:1;justify-content:center;align-items:center;min-height:150px;margin:0 14px 10px;display:flex;position:relative;overflow:hidden}.viewfinder.compact{max-height:190px}.viewfinder video,.captured-preview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.viewfinder video[hidden]{display:none}.captured-preview{z-index:1;object-fit:contain;background:#0a1018}.camera-guide{aspect-ratio:5/3;z-index:2;width:min(74%,250px);position:relative}.compact .camera-guide{width:min(60%,190px)}.camera-guide span{border:3px solid var(--teal-bright);width:26px;height:26px;position:absolute}.camera-guide span:first-child{border-bottom:0;border-right:0;top:0;left:0}.camera-guide span:nth-child(2){border-bottom:0;border-left:0;top:0;right:0}.camera-guide span:nth-child(3){border-top:0;border-right:0;bottom:0;left:0}.camera-guide span:nth-child(4){border-top:0;border-left:0;bottom:0;right:0}.camera-status{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-bright);z-index:3;font-size:11px;font-weight:700;position:absolute;bottom:14px;left:0;right:0}.capture-confirmation{z-index:5;border:1px solid var(--teal-bright);text-align:center;color:#fff;box-shadow:var(--shadow);background:#0e5a47f0;border-radius:10px;padding:11px 14px;font-size:15px;font-weight:700;position:absolute;bottom:12px;left:12px;right:12px}.next-banner{z-index:4;text-align:center;background:#12785ceb;padding:9px 12px;position:absolute;top:0;left:0;right:0}.next-banner span{letter-spacing:.14em;text-transform:uppercase;color:#bfe6d8;font-size:10px;font-weight:700;display:block}.next-banner strong{font-size:14px}.success-overlay{z-index:20;text-align:center;background:#09141af7;flex-direction:column;justify-content:center;align-items:center;padding:20px 20px 96px;display:flex;position:fixed;inset:0}.success-ring{border:2px solid var(--teal-bright);width:92px;height:92px;color:var(--teal-bright);background:#22a5812e;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:44px;display:flex}.success-heading{color:var(--teal-bright);font-size:30px}.success-description{color:var(--soft);margin-top:6px;font-size:14px}.success-count{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:12px;font-size:13px;font-weight:700}.success-actions{flex-direction:column;gap:10px;width:min(100%,420px);margin-top:28px;display:flex}.success-actions .btn{width:100%;min-height:64px}.success-actions .btn+.btn{margin-top:0}.undo-bar{left:14px;right:14px;bottom:calc(14px + var(--bot));z-index:30;background:var(--surface-2);border:1px solid var(--teal-light);box-shadow:var(--shadow);border-radius:12px;justify-content:space-between;align-items:center;padding:11px 14px;display:flex;position:absolute}.undo-bar span{color:var(--soft);font-size:13px}.undo-bar b{color:var(--teal-bright);font-size:16px}.undo-bar button{color:var(--teal-bright);border:1px solid var(--teal-light);border-radius:10px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:600}.carcass-in-screen.has-undo>.actions{padding-bottom:84px}.count-card{background:var(--surface);border:1px solid var(--teal-light);border-radius:14px;margin:0 14px 10px;padding:13px 16px}.count-card>div{align-items:baseline;gap:10px;display:flex}.count-card strong{color:var(--teal-bright);font-size:34px;line-height:1}.count-card span{font-size:14px;font-weight:600}.count-card p{color:var(--muted);margin-top:5px;font-size:12.5px}.scan-feed{flex:1;padding:0 14px 6px;overflow-y:auto}.feed-row{background:var(--row);border:1px solid var(--line);border-radius:10px;align-items:center;gap:11px;min-height:60px;margin-bottom:7px;padding:11px 13px;display:flex}.feed-row.new{border-color:var(--teal-light);background:#22a5811a}.feed-check{background:var(--teal);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.feed-row strong{color:var(--teal-bright);font-size:18px;display:block}.feed-row small{color:var(--soft);font-size:12px;display:block}.scan-type-action{flex:none;padding:0 14px 10px}.scan-type-action .btn{width:100%}.scan-capture-actions{flex:none;padding:8px 14px}.filter-guidance{color:var(--muted);text-align:center;padding:4px 0;font-size:12.5px}.message-card,.conflict-card,.mismatch-card{border-radius:14px;margin:0 14px 10px;padding:16px}.message-card.error,.conflict-card,.mismatch-card{border:1px solid var(--alert);background:#d9544e1f}.message-card.warning{border:1px solid var(--amber);background:#c9903f1f}.message-card>span,.conflict-card>span,.mismatch-card>span{letter-spacing:.08em;text-transform:uppercase;color:var(--alert);font-size:11px;font-weight:700}.message-card.warning>span{color:var(--amber)}.message-card h2,.conflict-card h2,.mismatch-card h2{margin:5px 0;font-size:16px}.message-card p,.conflict-card p,.mismatch-card p{color:var(--soft);font-size:13.5px;line-height:1.5}.message-card .btn{width:100%;margin-top:12px}.mismatch-counts{gap:8px;margin:12px 0;display:flex}.mismatch-counts strong{background:var(--surface-2);text-align:center;border-radius:10px;flex:1;padding:10px;font-size:28px}.mismatch-counts small{color:var(--muted);text-transform:uppercase;font-size:10px;display:block}.mismatch-card>b{color:var(--alert);margin-top:10px;display:block}.mismatch-detail{background:var(--surface-2);border-radius:10px;margin:12px 0;padding:4px 12px}.mismatch-detail>div{border-bottom:1px solid var(--line-soft);padding:8px 0}.mismatch-detail>div:last-child{border-bottom:0}.mismatch-detail dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px}.mismatch-detail dd{color:var(--head);margin-top:2px;font-size:13px}.conflict-card.ordinary{border-color:var(--amber);background:#c9903f1f}.conflict-card.ordinary>span{color:var(--amber)}.sheet-layer{z-index:100;pointer-events:auto;isolation:isolate;position:fixed;inset:0}.sheet-scrim{z-index:0;pointer-events:auto;background:#060a12bf;position:absolute;inset:0}body.sheet-open .home-actions{pointer-events:none}.sheet{z-index:1;pointer-events:auto;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:18px 14px calc(18px + var(--bot));border-bottom:0;border-radius:16px 16px 0 0;max-width:520px;max-height:90dvh;margin:auto;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet h2{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:11px}.sheet-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.sheet-primary-action{flex:none;width:100%}.sheet-actions .btn+.btn{margin-top:0}.option-list{flex-direction:column;gap:8px;display:flex}.option{background:var(--row);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;width:100%;min-height:56px;padding:15px 16px;font-size:16px;font-weight:500;display:flex}.option.selected{border-color:var(--teal-light);color:var(--teal-bright);background:#22a5811a}.option i{border-radius:2px;width:10px;height:10px}.option-meta{color:var(--muted);margin-left:auto;font-size:13px}.location-gate{text-align:center;padding:8px 8px 20px}.location-gate h3{font-size:19px;line-height:1.35}.location-gate p{color:var(--soft);margin-top:8px;font-size:14px;line-height:1.5}.location-gate-pulse{border:3px solid var(--line);border-top-color:var(--teal-bright);border-radius:50%;width:42px;height:42px;margin:2px auto 16px;animation:.85s linear infinite location-gate-spin;display:block}@keyframes location-gate-spin{to{transform:rotate(360deg)}}.keypad-value{text-align:center;min-height:56px;font-size:44px;font-weight:700}.keypad-hint{text-align:center;color:var(--muted);font-size:11.5px}.keypad-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.key{background:var(--row);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;height:56px;font-size:23px;font-weight:600;display:flex}.keypad-actions{align-items:stretch;margin-top:12px}.keypad-actions .btn{width:100%;min-width:0;min-height:56px;color:var(--text);-webkit-text-fill-color:var(--text);font-size:16px;font-weight:650}.keypad-actions .keypad-cancel{background:var(--surface-2);border:1px solid #4a5568}.keypad-actions .keypad-done.primary{-webkit-text-fill-color:#fff;font-weight:700}.keypad-actions .btn.disabled{color:#5d6878;-webkit-text-fill-color:#5d6878}.confirm-tag-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.25fr);align-items:stretch;gap:8px;margin-top:12px}.confirm-tag-actions .btn{text-align:center;overflow-wrap:anywhere;width:100%;min-width:0;min-height:56px;color:var(--text);-webkit-text-fill-color:var(--text);padding:10px 8px;font-size:14px;font-weight:600}.confirm-tag-actions .confirm-tag-cancel,.confirm-tag-actions .confirm-tag-again{background:var(--surface-2);border:1px solid #445062}.confirm-tag-actions .confirm-tag-again{background:var(--row);border-color:#566274}.confirm-tag-actions .confirm-tag-add{-webkit-text-fill-color:#fff;font-size:15px;font-weight:700}.tag-photo{background:linear-gradient(120deg,#d6dbe0,#8b959b);border-radius:8px;flex:0 0 96px;justify-content:center;align-items:center;width:96px;height:66px;display:flex;overflow:hidden}.tag-photo img{object-fit:cover;width:100%;height:100%}.tag-photo-full{z-index:80;background:#060a12f5;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:20px;display:flex;position:fixed;inset:0}.tag-photo-full img{object-fit:contain;border-radius:10px;max-width:100%;max-height:75dvh}.tag-photo-full button,.torch-button{border:1px solid var(--teal-light);color:var(--teal-bright);border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700}.torch-button{padding:7px 9px;font-size:11px}.camera-fallback{color:var(--soft);text-align:center;margin:-2px 16px 8px;font-size:12px}.event{gap:11px;padding-bottom:14px;display:flex}.event-dot{background:var(--line);border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:6px}.event.latest .event-dot{background:var(--teal-bright);box-shadow:0 0 6px #22a581cc}.event strong{font-size:13.5px}.event p{color:var(--muted);margin-top:2px;font-size:12.5px}.start{padding:30px 20px calc(16px + var(--bot));flex-direction:column;flex:1;justify-content:center;display:flex;overflow-y:auto}.start h1{margin-bottom:8px;font-size:27px}.start h1 span{font-weight:600}.start>p{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.6}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--teal-bright);margin-bottom:12px;font-size:11px;font-weight:700}.prototype-note{color:var(--muted);border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:12px;line-height:1.6}.signin-form{flex-direction:column;display:flex}.signin-form input{border:1px solid var(--line);background:var(--row);width:100%;min-height:56px;color:var(--text);font:inherit;border-radius:10px;outline:none;margin-bottom:12px;padding:0 16px;font-size:16px}.signin-form input:focus{border-color:var(--teal-light);box-shadow:0 0 0 2px #22a5811f}.signin-form .btn{width:100%}.signin-code-form{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.signin-code-form input{letter-spacing:.28em;font-variant-numeric:tabular-nums}.signin-message{color:var(--teal-bright);margin-top:18px;font-size:13.5px;line-height:1.5}.signin-message.error{color:var(--alert)}.intro{padding:6px 16px 18px}.intro h1{font-size:20px}.intro p{color:var(--muted);margin-top:6px;font-size:14px}.route-stack{padding:0 14px}.review-head{text-align:center;padding:12px 14px}.review-head strong{font-size:56px;line-height:1;display:block}.review-head span{color:var(--soft);font-size:13px}.review-head p{color:var(--muted);margin-top:8px;font-size:13px}.review-list{flex:1;padding:0 14px;overflow-y:auto}.review-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;min-height:68px;padding:12px 2px;display:flex}.review-row>.tag{width:82px}.review-row .review-meta{flex:1}.review-row small{color:var(--muted);display:block}.review-row button{min-width:56px;min-height:56px;color:var(--muted)}.review-row-actions{flex-direction:column;align-items:flex-end;display:flex}.review-row-actions button{text-align:right;max-width:118px;min-height:44px;font-size:12px}.disposal-destination{color:var(--alert)!important}.disposal-warning{box-shadow:0 0 0 1px #d9544e33}.checkout-destinations{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;margin-top:16px;padding:12px 16px;display:flex}.checkout-destinations strong{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px}.checkout-destinations span{font-size:14px}.checkout-destinations.has-disposal{border-color:var(--alert);background:#d9544e1f}.checkout-destinations.has-disposal>b{color:var(--alert);letter-spacing:.06em;font-size:18px}.full-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:22px;display:flex}.state-mark{border:1px solid var(--teal-light);width:72px;height:72px;color:var(--teal-bright);background:#22a58129;border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;font-size:33px;display:flex}.full-state>.number{font-size:64px;line-height:1}.full-state h1{font-size:22px}.full-state p{color:var(--soft);margin-top:8px}.reference-line{border:1px solid var(--line);color:var(--muted);border-radius:8px;margin-top:16px;padding:7px 12px;font-size:12px}.needs-checking{border:1px solid var(--amber);min-height:56px;color:var(--amber);border-radius:10px;margin-top:16px;padding:10px 16px;font-weight:700}.needs-checking.serious{border-color:var(--alert);color:var(--alert)}.full-state .checkout-pending{color:var(--amber);font-size:12px}.pending-dot{border:1px solid var(--amber);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:7px;display:inline-block}.detail-page{flex:1;padding:0 16px 12px;overflow-y:auto}.detail-tag{color:var(--teal-bright);font-size:44px}.detail-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.detail-cell{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.detail-cell span,.detail-section{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10.5px}.detail-cell strong{margin-top:4px;font-size:15px;display:block}.detail-section{margin:20px 0 11px;font-size:11px;font-weight:700}.photo-row{align-items:center;gap:12px;display:flex}.photo-row p{color:var(--muted);font-size:12.5px}.audit-rule{color:var(--muted);margin-top:6px;font-size:12px}.empty{color:var(--muted);text-align:center;padding:36px 20px;font-size:13.5px}.attention-summary{color:var(--soft);padding:0 14px 12px;font-size:14px}.error-shell{background:var(--bg);place-items:center;min-height:100dvh;padding:20px;display:grid}.error-shell .message-card{width:min(100%,480px)}.error-shell h1{margin:8px 0;font-size:24px}.error-shell .actions{padding:16px 0 0;position:static}@media (height<=700px){.card-body{padding:12px}.viewfinder{min-height:130px}.actions{padding-top:5px}.start{justify-content:flex-start}}.capture-confirmation span{display:block}.capture-confirmation span+span{letter-spacing:.04em;margin-top:3px;font-size:11px;font-weight:600}.sheet-actions.two{grid-template-columns:repeat(2,1fr)}.captured-ocr-debug{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin:0 14px 10px;padding:12px}.captured-ocr-debug summary{cursor:pointer;color:var(--soft);font-size:13px;font-weight:600}.captured-ocr-debug[open] summary{margin-bottom:10px}.captured-ocr-debug h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:11px}.captured-ocr-debug-images{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.captured-ocr-debug-figure{min-width:0}.captured-ocr-debug-figure figcaption,.captured-ocr-debug-figure p,.captured-ocr-debug-figure a{color:var(--muted);margin-top:4px;font-size:11px;display:block}.captured-ocr-debug-figure img{object-fit:contain;background:#0a1018;border-radius:8px;width:100%;max-height:120px}.captured-ocr-debug pre{white-space:pre-wrap;word-break:break-word;color:var(--soft);margin-top:10px;font-size:11px}.btn.danger{border:1px solid var(--alert);color:var(--alert);background:#d9544e29}.screen-fill{flex:1;min-height:0}.account-who{text-align:center;color:var(--soft);pointer-events:none;margin:2px 0 18px;font-size:17px;font-weight:500}.account-menu-actions{grid-template-columns:1fr;gap:10px;margin-top:0}.account-menu-actions .btn{text-align:center;width:100%;min-height:56px;color:var(--text);-webkit-text-fill-color:var(--text);background:var(--surface-2);border:1px solid #4a5568;justify-content:center;padding:12px 16px;font-size:21px;font-weight:700}.account-menu-actions .btn.neutral{background:var(--surface-2);border-color:#4a5568}.confirm-copy{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.confirm-copy p{color:var(--soft);text-align:center;font-size:14px;line-height:1.5}.admin-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:6px 16px 12px;display:flex}.admin-toolbar h1{font-size:20px}.admin-toolbar .btn{flex:none;min-width:132px}.member-list{padding-top:4px}.member-row{background:var(--row);border:1px solid var(--line);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:72px;margin-bottom:8px;padding:14px 16px;display:flex}.member-row strong{font-size:16px}.member-status{flex-wrap:wrap;gap:6px;display:flex}.dealer-list{padding:0 14px 8px}.dealer-list .member-row{min-height:88px}.member-row.dealer-selected{border-color:var(--teal-light);box-shadow:0 0 0 1px var(--teal-light)}.dealer-email{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.dealer-threshold-row{border-bottom:1px solid var(--line-soft);min-width:0;margin-bottom:8px;padding-bottom:8px}.dealer-threshold-row:last-of-type{border-bottom:0}.dealer-threshold-row .check-row{margin-bottom:0}.dealer-reply{border-top:1px solid var(--line-soft);min-width:0;margin-top:14px;padding-top:14px}.dealer-reply .notification-subheading{margin-top:0}.dealer-reply-list{margin:0 0 12px;padding:0;list-style:none}.dealer-reply-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 0;display:flex}.dealer-reply-row:last-child{border-bottom:0}.dealer-reply-row .dealer-email{min-width:0;color:var(--text);font-size:14px}.dealer-reply-add{min-width:0}.dealer-reply-add .eyebrow{margin:8px 0 6px;display:block}.dealer-reply-add .admin-field-help{margin:0 0 8px;display:block}.dealer-reply-add .admin-field{margin-bottom:8px}.dealer-reply-error{color:var(--alert);margin:0 0 10px;font-size:13px;font-weight:700;display:none}.dealer-reply-add .admin-field:user-invalid{border-color:var(--alert)}.dealer-reply-add .admin-field:user-invalid+.dealer-reply-error{display:block}.dealer-reply-add .btn{width:100%;margin-top:4px}.member-status-facts{gap:14px;min-width:0;display:grid}.member-detail-scroll>.detail-section{margin-left:14px;margin-right:14px}.member-status-fact{gap:4px;min-width:0;display:grid}.member-status-fact:not(:last-child){border-bottom:1px solid var(--line-soft);padding-bottom:14px}.member-status-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700}.member-status-fact strong{font-size:16px}.member-status-fact p{color:var(--soft);font-size:13px;line-height:1.45}.admin-detail-rows .detail-row{grid-template-columns:minmax(6.5rem,36%) minmax(0,1fr);align-items:start;column-gap:12px;display:grid}.admin-detail-rows .detail-key{flex:none;width:auto;min-width:0}.admin-detail-rows .detail-row strong{overflow-wrap:anywhere;min-width:0;display:block}.admin-actions{flex-direction:column;gap:10px;padding:0 14px 18px;display:flex}.admin-actions .btn{width:100%}.admin-actions .btn+.btn{margin-top:0}.admin-actions .admin-edit-form{padding:0}.admin-edit-form{padding:0 14px 16px}.admin-field-help{color:var(--muted);margin:6px 0 12px;font-size:13px;line-height:1.4}.admin-field[readonly]{opacity:.92}.admin-edit-form .btn{width:100%;margin-top:10px}.admin-edit-form .sheet-actions .btn{margin-top:0}.add-member-form{padding:0 14px calc(14px + var(--bot))}.add-member-form .option{margin-bottom:12px}.admin-field{color:var(--text);caret-color:var(--text);-webkit-text-fill-color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none}.admin-field::placeholder{color:var(--muted);-webkit-text-fill-color:var(--muted);opacity:1}.admin-field:focus{border-color:var(--teal-light);box-shadow:0 0 0 2px #22a5811f}.admin-field:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--row) inset;transition:background-color 9999s ease-out}.admin-field:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--row) inset;transition:background-color 9999s ease-out}.admin-field:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--row) inset;transition:background-color 9999s ease-out}.add-member-form .actions{padding-left:0;padding-right:0}.add-member-form .eyebrow{margin:8px 0 6px;display:block}.check-row{min-height:56px;color:var(--soft);align-items:center;gap:12px;margin:4px 0 10px;font-size:15px;display:flex}.check-row input{width:22px;height:22px;accent-color:var(--teal);flex:0 0 22px}.suspended-note{color:var(--alert);font-size:14px;line-height:1.5}.notification-scroll{min-height:0;padding-bottom:calc(14px + var(--bot));overscroll-behavior-y:contain;flex:1}.notification-edit{min-width:56px;min-height:44px;color:var(--teal-bright);padding:8px;font-size:13px;font-weight:700}.notification-edit:disabled{opacity:.55;cursor:not-allowed}.notification-card-summary{flex-direction:column;align-items:flex-start;gap:7px;min-width:0;display:flex}.notification-card-summary p{color:var(--soft);font-size:14px;line-height:1.4}.notification-card-summary .btn{width:100%;margin-top:5px}.notification-form{border-top:1px solid var(--line-soft);min-width:0;margin-top:15px;padding-top:15px}.notification-form>.eyebrow,.notification-test>.eyebrow{margin:8px 0 6px;display:block}.notification-form .option,.notification-test .option{margin-bottom:12px}.notification-form-actions{margin-top:16px}.notification-recipients{border:0;border-top:1px solid var(--line-soft);min-width:0;margin-top:16px;padding-top:14px}.notification-recipients legend{color:var(--teal-bright);letter-spacing:.08em;text-transform:uppercase;padding-right:8px;font-size:11px;font-weight:700}.notification-subheading{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 7px;font-size:11px;font-weight:700;display:block}.notification-recipient{border-bottom:1px solid var(--line-soft);min-height:60px;color:var(--soft);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;padding:10px 0;display:grid}.notification-recipient:last-child{border-bottom:0}.notification-recipient input{width:22px;height:22px;accent-color:var(--teal)}.notification-recipient span{min-width:0}.notification-recipient strong,.notification-recipient small{overflow-wrap:anywhere;min-width:0;display:block}.notification-recipient strong{color:var(--text);font-size:14px}.notification-recipient small{color:var(--muted);margin-top:2px;font-size:12px}.notification-warning{color:var(--amber);margin:10px 0;font-size:13px;font-weight:700}.notification-number-suffix{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.notification-number-suffix span{color:var(--soft);font-size:14px}.notification-capacity-helper{color:var(--teal-bright);font-weight:700}.notification-test .btn{width:100%}.notification-email{overflow-wrap:anywhere}.notification-feedback{border:1px solid var(--teal-light);color:var(--teal-bright);background:#22a5811a;border-radius:10px;margin:0 14px 10px;padding:12px 14px;font-size:13px;font-weight:700}.notification-feedback.error{border-color:var(--alert);color:var(--alert);background:#d9544e1f}.notification-history{margin:-4px -2px}.notification-history-row{border-bottom:1px solid var(--line-soft)}.notification-history-row:last-child{border-bottom:0}.notification-history-row summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:76px;padding:10px 2px;list-style:none;display:flex}.notification-history-row summary::-webkit-details-marker{display:none}.notification-history-row summary>span{flex-direction:column;min-width:0;display:flex}.notification-history-row time{color:var(--muted);font-size:11px}.notification-history-row strong{margin-top:2px;font-size:14px}.notification-history-row small{color:var(--soft);overflow-wrap:anywhere;margin-top:2px;font-size:12px}.notification-history-detail{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;margin:0 0 10px;padding:8px 10px}.notification-history-detail div{grid-template-columns:minmax(6.5rem,36%) minmax(0,1fr);gap:10px;padding:6px 0;display:grid}.notification-history-detail dt{color:var(--muted);font-size:11px}.notification-history-detail dd{min-width:0;color:var(--soft);overflow-wrap:anywhere;font-size:12px}.site-access-scroll{min-width:0;min-height:0;padding-bottom:calc(14px + var(--bot));overscroll-behavior-y:contain;flex:1}.site-access-enforcement,.site-access-test{flex-direction:column;align-items:stretch;gap:12px;min-width:0;display:flex}.site-access-enforcement>p,.site-access-test>p{color:var(--soft);font-size:14px;line-height:1.5}.site-access-toggle{min-height:56px;color:var(--text);justify-content:space-between;align-items:center;gap:14px;font-size:17px;font-weight:700;display:flex}.site-access-toggle .pill{font-size:11.5px;font-weight:600}.site-access-toggle input{appearance:none;border:1px solid var(--line);background:var(--row);cursor:pointer;border-radius:999px;flex:0 0 54px;width:54px;height:32px;position:relative}.site-access-toggle input:after{content:"";background:var(--soft);border-radius:50%;width:24px;height:24px;transition:transform .16s,background-color .16s;position:absolute;top:3px;left:3px}.site-access-toggle input:checked{border-color:var(--teal-light);background:#22a58140}.site-access-toggle input:checked:after{background:var(--teal-bright);transform:translate(22px)}.site-access-toggle input:focus-visible{outline:2px solid var(--teal-light);outline-offset:3px}.site-access-summary{gap:12px;min-width:0;display:grid}.site-access-summary>div{grid-template-columns:minmax(6.5rem,36%) minmax(0,1fr);align-items:start;gap:12px;display:grid}.site-access-summary span,.site-access-coordinate-grid span{color:var(--muted);font-size:12px}.site-access-summary strong,.site-access-coordinate-grid strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:14px}.site-access-summary>p{color:var(--soft);font-size:13px;line-height:1.45}.site-access-unset{color:var(--alert)}.site-access-coordinate-summary strong{font-size:13px}.site-access-test>.btn{width:100%}.site-access-test-result{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;min-width:0;margin-top:2px;padding:14px}.site-access-test-result.pass{border-color:var(--teal-light)}.site-access-test-result.block{border-color:var(--alert)}.site-access-test-result.retry_required{border-color:var(--amber)}.site-access-test-result h3{font-size:16px;line-height:1.4}.site-access-test-result dl{gap:7px;margin-top:11px;display:grid}.site-access-test-result dl>div{color:var(--soft);grid-template-columns:minmax(0,1fr) auto;gap:10px;font-size:12px;display:grid}.site-access-test-result dd{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.site-access-test-result>p{color:var(--soft);margin-top:11px;font-size:13px;line-height:1.45}.site-access-test-result>.btn{width:100%;margin-top:12px}.site-access-editor-sheet{flex-direction:column;height:95dvh;min-height:0;max-height:95dvh;display:flex;overflow:hidden}.site-access-editor{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;display:flex}.site-access-editor-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;display:flex;overflow-y:auto}.site-access-editor-body>p{color:var(--soft);font-size:13px;line-height:1.45}.site-access-map-wrapper{width:100%;min-width:0}.site-access-map-wrapper>p{color:var(--soft);margin-bottom:8px;font-size:12px;line-height:1.4}.site-access-map-stage{width:100%;min-width:0;position:relative}.site-access-map-canvas{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;width:100%;max-width:100%;min-height:20rem;position:relative;overflow:hidden}.site-access-basemap-selector{z-index:2;background:#131b27e6;border:1px solid #ffffff80;border-radius:10px;grid-template-columns:repeat(2,auto);padding:2px;display:grid;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #00000040}.site-access-basemap-selector button{color:#fff;min-width:72px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 11px;font-size:13px;font-weight:700}.site-access-basemap-selector button[aria-pressed=true]{background:var(--teal);color:#fff}.site-access-basemap-selector button:focus-visible{outline-offset:-3px;outline:2px solid #fff}.site-access-map-canvas .maplibregl-ctrl-attrib{max-width:calc(100% - 8px);font-size:10px}.site-access-map-canvas .maplibregl-ctrl-attrib-inner{font-size:10px;line-height:1.35}.btn.ghost.site-access-current-location{color:#7eb6d9;-webkit-text-fill-color:#7eb6d9;background:#5e93c424;border-color:#5e93c4;flex:none;width:100%}.site-access-map-error{border:1px solid var(--alert);color:var(--alert);background:#d9544e1f;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700}.site-access-coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.site-access-coordinate-grid>div{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;min-width:0;padding:10px 12px}.site-access-coordinate-grid span,.site-access-coordinate-grid strong{display:block}.site-access-coordinate-grid strong{margin-top:3px}.site-access-editor-body>.eyebrow{margin:2px 0 -6px;display:block}.site-access-radius-value{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.site-access-radius-value .option{margin:0}.site-access-radius-value>span{color:var(--soft);font-size:15px}.site-access-radius-range{width:100%;height:44px;accent-color:var(--teal-bright);touch-action:pan-x}.site-access-editor .admin-field-help{margin:-6px 0 0}.site-access-editor .notification-feedback{margin:0}.site-access-editor-actions{z-index:2;margin:4px -14px calc(-18px - var(--bot));padding:10px 14px calc(18px + var(--bot));background:linear-gradient(180deg,#131b27eb,var(--surface) 24%);flex:none}@media (width<=390px){.site-access-coordinate-grid{grid-template-columns:1fr}.site-access-map-canvas{min-height:17rem}}@media (width<=375px){.confirm-tag-actions{gap:6px}.confirm-tag-actions .btn{padding:10px 6px;font-size:13px}.confirm-tag-actions .confirm-tag-add{font-size:14px}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.cleaning-card{box-shadow:none}.cleaning-card .card-body{padding:12px 15px}.cleaning-history-link{min-height:44px;color:var(--soft);align-items:center;font-size:12.5px;font-weight:600;display:flex}.cleaning-card-content{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.cleaning-card-content .btn{min-width:116px}.cleaning-last{flex-direction:column;min-width:0;display:flex}.cleaning-last>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.cleaning-last>strong{margin-top:2px;font-size:17px;line-height:1.35}.cleaning-last>small{color:var(--soft);overflow-wrap:anywhere;margin-top:2px;font-size:12px}.cleaning-log-content{flex:1;min-height:0;padding:4px 14px 14px;overflow-y:auto}.cleaning-photo-heading h1{font-size:22px}.cleaning-photo-heading p{color:var(--muted);margin-top:2px;font-size:13px}.cleaning-photo-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.cleaning-photo-actions .btn{width:100%;min-width:0}.cleaning-photo-actions .btn+.btn{margin-top:0}.cleaning-photo-previews{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.cleaning-photo-previews figure{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0;overflow:hidden}.cleaning-photo-previews img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.cleaning-photo-previews button{width:100%;min-height:44px;color:var(--soft);padding:6px;font-size:12px;font-weight:700}.cleaning-no-photos{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;margin-top:20px;padding:18px;font-size:13px}.cleaning-form-message{min-height:20px;color:var(--amber);margin-top:10px;font-size:13px;font-weight:600}.cleaning-submit-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.cleaning-submit-actions .btn{width:100%;min-width:0}.cleaning-submit-actions .btn+.btn{margin-top:0}.cleaning-success h1{color:var(--teal-bright)}.cleaning-history-list{padding-top:2px}.cleaning-history-row{border:1px solid var(--line);background:var(--row);text-align:left;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;min-height:88px;margin-bottom:8px;padding:13px 15px;display:flex}.cleaning-history-row strong{font-size:15px}.cleaning-history-row span{color:var(--soft);margin-top:3px;font-size:13px}.cleaning-history-row small{color:var(--muted);margin-top:2px;font-size:12px}.cleaning-detail>h1{margin-top:4px;font-size:24px}.cleaning-detail-list{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin-top:16px;overflow:hidden}.cleaning-detail-list>div{border-bottom:1px solid var(--line-soft);grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:10px 14px;display:grid}.cleaning-detail-list>div:last-child{border-bottom:0}.cleaning-detail-list dt{color:var(--muted);font-size:12px}.cleaning-detail-list dd{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:600}.cleaning-detail-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.cleaning-photo{min-width:0}.cleaning-photo>button{aspect-ratio:1;border:1px solid var(--line);background:var(--row);border-radius:9px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.cleaning-photo>button:disabled{cursor:default}.cleaning-photo img{object-fit:cover;width:100%;height:100%}.cleaning-photo span{color:var(--muted);padding:8px;font-size:11px}.cleaning-photo figcaption{color:var(--amber);text-align:center;margin-top:4px;font-size:10px}.cleaning-photo-full{z-index:120;background:#060a12f7;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:20px;display:flex;position:fixed;inset:0}.cleaning-photo-full img{object-fit:contain;border-radius:10px;max-width:100%;max-height:78dvh}.cleaning-photo-full button{border:1px solid var(--teal-light);min-width:160px;min-height:48px;color:var(--teal-bright);border-radius:9px;padding:10px 14px;font-weight:700}.cleaning-detail-empty{color:var(--muted);font-size:13px}@media (width<=375px){.cleaning-card-content{gap:9px}.cleaning-card-content .btn{min-width:104px;padding:9px 10px}.cleaning-last>strong{font-size:15px}.cleaning-photo-actions{gap:8px}.cleaning-photo-actions .btn{padding:10px 8px;font-size:14px}}:root{--bg:#0c1320;--surface:#161f2d;--surface-2:#1b2533;--row:#19222f;--line:#26303f;--line-soft:#202a38;--text:#fff;--head:#f1f0e6;--muted:#8a94a3;--soft:#c2cad4;--teal:#12785c;--teal-light:#1a9b7a;--teal-bright:#22a581;--teal-dark:#0e5a47;--amber:#c9903f;--alert:#d9544e;--shadow:0 1px 2px #0006,0 14px 40px #0006;--top:env(safe-area-inset-top,0px);--bot:env(safe-area-inset-bottom,0px)}
