.feedback-fab{z-index:9998;-webkit-backdrop-filter:blur(16px);width:52px;height:52px;color:var(--color-primary,#7ba2d5);cursor:pointer;background:linear-gradient(135deg,#7ba2d533,#7ba2d514);border:1px solid #7ba2d54d;border-radius:14px;justify-content:center;align-items:center;font-size:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 24px #0000004d,0 0 40px #7ba2d514}.feedback-fab:hover{border-color:#7ba2d580;transform:translateY(-2px);box-shadow:0 8px 32px #0006,0 0 48px #7ba2d51f}.feedback-fab:active{transform:scale(.95)}.feedback-fab .material-symbols-outlined{font-size:24px}.feedback-fab__badge{color:#fff;background:#ef4444;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #ef444466}.feedback-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.25s feedback-fade-in;display:flex;position:fixed;inset:0}@keyframes feedback-fade-in{0%{opacity:0}to{opacity:1}}.feedback-widget{background:var(--color-bg-surface,#1a2535);border:1px solid var(--glass-border,#283341b3);border-radius:var(--border-radius-lg,16px);width:480px;max-width:95vw;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) feedback-slide-up;overflow-y:auto;box-shadow:0 24px 80px #00000080,0 0 1px #7ba2d533,inset 0 1px #ffffff0a}@keyframes feedback-slide-up{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.feedback-widget__header{border-bottom:1px solid var(--glass-border,#283341b3);background:#00000026;justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.feedback-widget__header h3{font-family:var(--font-family-heading,"Inter", sans-serif);color:var(--color-text-primary,#e8ecf1);align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;display:flex}.feedback-widget__close{cursor:pointer;color:var(--color-text-muted,#5c6b7f);border-radius:var(--border-radius-md,8px);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.feedback-widget__close:hover{border-color:var(--glass-border,#283341b3);color:var(--color-text-primary,#e8ecf1);background:#ffffff0f}.feedback-widget__close .material-symbols-outlined{font-size:20px}.feedback-widget__body{padding:22px}.feedback-steps{gap:6px;padding:0 22px 14px;display:flex}.feedback-steps__dot{background:#283341cc;border-radius:50%;width:8px;height:8px;transition:background .25s,box-shadow .25s}.feedback-steps__dot--active{background:var(--color-primary,#7ba2d5);box-shadow:0 0 8px #7ba2d580}.feedback-steps__dot--done{background:#22c55e;box-shadow:0 0 6px #22c55e66}.feedback-capture__preview{border-radius:var(--border-radius-md,10px);border:1px solid var(--glass-border,#283341b3);margin-bottom:18px;overflow:hidden}.feedback-capture__screenshot{border-radius:var(--border-radius-md,10px);width:100%;display:block}.feedback-capture__loading{height:120px;color:var(--color-text-muted,#5c6b7f);background:#0003;justify-content:center;align-items:center;gap:10px;font-size:.85rem;display:flex}.feedback-capture__spin{color:var(--color-primary,#7ba2d5);animation:1s linear infinite feedback-spin;font-size:20px!important}@keyframes feedback-spin{to{transform:rotate(360deg)}}.feedback-capture__no-screenshot{height:80px;color:var(--color-text-muted,#5c6b7f);background:#00000026;justify-content:center;align-items:center;gap:10px;font-size:.82rem;display:flex}.feedback-capture__no-screenshot .material-symbols-outlined{color:var(--color-primary,#7ba2d5);opacity:.5;font-size:24px}.feedback-capture__section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted,#5c6b7f);margin-bottom:10px;font-size:.82rem;font-weight:600}.feedback-categories{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;display:grid}.feedback-category-btn{border:1px solid var(--glass-border,#283341b3);border-radius:var(--border-radius-md,10px);cursor:pointer;font-size:.85rem;font-family:var(--font-family-primary,"Inter", sans-serif);color:var(--color-text-secondary,#94a3b8);background:#00000026;align-items:center;gap:10px;padding:12px 14px;transition:all .2s;display:flex}.feedback-category-btn:hover{color:var(--color-text-primary,#e8ecf1);background:#7ba2d50f;border-color:#7ba2d54d}.feedback-category-btn--selected{border-color:var(--cat-color,var(--color-primary,#7ba2d5));color:var(--color-text-primary,#e8ecf1);background:#7ba2d51a;box-shadow:0 0 12px #7ba2d51a}.feedback-category-btn__icon{flex-shrink:0;font-size:22px}.feedback-screenshot{border-radius:var(--border-radius-md,10px);border:1px solid var(--glass-border,#283341b3);width:100%;margin-bottom:14px}.feedback-screenshot--loading{border-radius:var(--border-radius-md,10px);height:120px;color:var(--color-text-muted,#5c6b7f);background:#0003;justify-content:center;align-items:center;font-size:.85rem;display:flex}.feedback-textarea{border:1px solid var(--glass-border,#283341b3);border-radius:var(--border-radius-md,10px);width:100%;min-height:100px;font-family:var(--font-family-primary,"Inter", sans-serif);resize:vertical;color:var(--color-text-primary,#e8ecf1);background:#0003;padding:14px;font-size:.88rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}.feedback-textarea::placeholder{color:var(--color-text-muted,#5c6b7f)}.feedback-textarea:focus{border-color:var(--color-primary,#7ba2d5);outline:none;box-shadow:0 0 0 3px #7ba2d51f}.feedback-voice-btn{border:1px solid var(--glass-border,#283341b3);border-radius:var(--border-radius-md,10px);cursor:pointer;font-size:.85rem;font-family:var(--font-family-primary,"Inter", sans-serif);color:var(--color-text-secondary,#94a3b8);background:#00000026;align-items:center;gap:8px;padding:10px 16px;transition:all .15s;display:flex}.feedback-voice-btn:hover{color:var(--color-text-primary,#e8ecf1);background:#7ba2d514;border-color:#7ba2d54d}.feedback-voice-btn--recording{color:#fca5a5;background:#ef44441a;border-color:#ef444480;animation:1.5s infinite feedback-pulse}@keyframes feedback-pulse{0%,to{opacity:1}50%{opacity:.7}}.feedback-actions{gap:10px;margin-top:18px;display:flex}.feedback-btn{border-radius:var(--border-radius-md,10px);font-size:.88rem;font-weight:600;font-family:var(--font-family-primary,"Inter", sans-serif);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 18px;transition:all .2s;display:flex}.feedback-btn--primary{background:linear-gradient(135deg, var(--color-primary,#7ba2d5), #5a8ac0);color:#fff;box-shadow:0 4px 16px #7ba2d540}.feedback-btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #7ba2d559}.feedback-btn--primary:active{transform:translateY(0)}.feedback-btn--primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.feedback-btn--secondary{border:1px solid var(--glass-border,#283341b3);color:var(--color-text-secondary,#94a3b8);background:#0003}.feedback-btn--secondary:hover{color:var(--color-text-primary,#e8ecf1);background:#0000004d;border-color:#7ba2d54d}.feedback-confirm{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:32px 0;display:flex}.feedback-confirm__icon{color:#22c55e;filter:drop-shadow(0 0 12px #22c55e4d);font-size:52px}.feedback-confirm__title{font-family:var(--font-family-heading,"Inter", sans-serif);color:var(--color-text-primary,#e8ecf1);font-size:1.15rem;font-weight:600}.feedback-confirm__subtitle{color:var(--color-text-muted,#5c6b7f);max-width:280px;font-size:.85rem;line-height:1.4}.feedback-review-screenshot{border-radius:var(--border-radius-md,10px);border:1px solid var(--glass-border,#283341b3);width:100%;margin-bottom:14px}.feedback-review-meta{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.feedback-review-row{align-items:flex-start;gap:8px;display:flex}.feedback-review-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted,#5c6b7f);min-width:72px;padding-top:2px;font-size:.75rem;font-weight:600}.feedback-review-value{color:var(--color-text-primary,#e8ecf1);font-size:.88rem;line-height:1.4}.feedback-annotate{width:100%;position:relative}.feedback-annotate__canvas{cursor:crosshair;position:absolute;inset:0}.feedback-annotate__toolbar{border:1px solid var(--glass-border,#283341b3);border-radius:var(--border-radius-md,10px);background:#00000040;gap:4px;margin-bottom:8px;padding:6px;display:flex}.feedback-annotate__tool{cursor:pointer;width:34px;height:34px;color:var(--color-text-muted,#5c6b7f);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:18px;transition:all .15s;display:flex}.feedback-annotate__tool:hover{color:var(--color-text-primary,#e8ecf1);background:#7ba2d51a}.feedback-annotate__tool--active{border-color:var(--color-primary,#7ba2d5);color:var(--color-primary,#7ba2d5);background:#7ba2d526}.feedback-describe__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted,#5c6b7f);margin-bottom:8px;font-size:.82rem;font-weight:600}.feedback-describe__voice-row{align-items:center;gap:10px;margin-top:12px;display:flex}@media (width<=520px){.feedback-widget{border-radius:16px 16px 0 0;width:100vw;max-width:100vw;max-height:85vh;position:fixed;bottom:0}.feedback-fab{width:46px;height:46px;bottom:16px;right:16px}.feedback-categories{grid-template-columns:1fr}}.feedback-offline-banner{color:#f59e0b;background:#f59e0b1f;border-bottom:1px solid #f59e0b40;align-items:center;gap:6px;padding:6px 14px;font-size:.73rem;line-height:1.4;display:flex}.feedback-offline-banner .material-symbols-outlined{flex-shrink:0;font-size:15px}.login-root{background:var(--color-bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-root:before{content:"";pointer-events:none;background:radial-gradient(circle,#7ba2d512 0%,#0000 70%);width:60vw;height:60vh;animation:8s ease-in-out infinite alternate glow-drift;position:absolute;top:-20%;left:-10%}.login-root:after{content:"";pointer-events:none;background:radial-gradient(circle,#84cc160d 0%,#0000 70%);width:50vw;height:50vh;animation:10s ease-in-out infinite alternate-reverse glow-drift;position:absolute;bottom:-20%;right:-10%}@keyframes glow-drift{0%{transform:translate(0)scale(1)}to{transform:translate(3%,4%)scale(1.08)}}.login-card{z-index:1;background:var(--color-bg-surface);border:1px solid var(--glass-border);width:100%;max-width:420px;padding:var(--spacing-xl) var(--spacing-xl);border-radius:20px;animation:.4s cubic-bezier(.16,1,.3,1) both card-appear;position:relative;box-shadow:0 24px 80px #00000080}@keyframes card-appear{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.login-brand{margin-bottom:var(--spacing-xl);align-items:center;gap:12px;display:flex}.login-brand-logo{width:auto;height:40px}.login-brand-text h1{font-family:var(--font-family-heading);color:var(--color-primary);letter-spacing:-.3px;font-size:1.5rem;font-weight:600;line-height:1}.login-brand-text p{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:3px;font-size:.7rem}.login-heading{font-family:var(--font-family-heading);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:1.35rem;font-weight:600}.login-subheading{color:var(--color-text-muted);margin-bottom:var(--spacing-xl);font-size:.85rem}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-label{color:var(--color-text-secondary);font-size:.8rem;font-weight:500}.form-input{background:var(--color-bg-base);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);width:100%;color:var(--color-text-primary);font-family:var(--font-family-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:11px 14px;font-size:.9rem}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.form-input.error{border-color:var(--color-accent-3);box-shadow:0 0 0 3px #ef44441f}.login-error{align-items:center;gap:var(--spacing-sm);border-radius:var(--border-radius-md);color:var(--color-accent-3);background:#ef444414;border:1px solid #ef444440;padding:10px 14px;font-size:.83rem;animation:.35s shake;display:flex}.login-error .material-symbols-outlined{flex-shrink:0;font-size:18px}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-submit{width:100%;margin-top:var(--spacing-sm);border-radius:var(--border-radius-md);justify-content:center;padding:12px;font-size:.95rem}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-version{text-align:center;margin-top:var(--spacing-lg);color:var(--color-text-muted);font-size:.72rem}.login-sso{gap:var(--spacing-md);flex-direction:column;display:flex}.btn-google{color:#3c4043;width:100%;font-family:var(--font-family-primary);letter-spacing:.01em;cursor:pointer;background:#fff;border:1.5px solid #0000001f;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;font-size:.95rem;font-weight:500;transition:background .15s,box-shadow .15s,transform .1s;display:flex;box-shadow:0 1px 3px #00000014}.btn-google:hover:not(:disabled){background:#f8f8f8;box-shadow:0 2px 8px #0000001f}.btn-google:active:not(:disabled){transform:scale(.98)}.btn-google:disabled{opacity:.65;cursor:not-allowed}.spinner--dark{border-color:#3c4043 #00000026 #00000026}.invite-welcome{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;display:flex}.invite-welcome-icon{color:#38bdf8;margin-bottom:4px;font-size:40px}.btn-signup{color:#9acc57;cursor:pointer;background:0 0;border:1px solid #9acc5773;border-radius:10px;width:100%;margin-top:12px;padding:12px 16px;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s}.btn-signup:hover{background:#9acc571a;border-color:#9acc57b3}.btn-signup:disabled{opacity:.5;cursor:default}.ir-root{background:#0a0a0a;flex-direction:column;width:100%;height:100%;font-family:Inter,-apple-system,sans-serif;display:flex;position:relative;overflow:hidden}.ir-accept-btn{cursor:pointer;color:#e8e8e8;font-size:11px;font-weight:600;font-family:var(--font-family-primary);white-space:nowrap;background:#0f3460;border:1px solid #2a2a4a;border-radius:6px;flex-shrink:0;padding:7px 14px;transition:all .15s}.ir-accept-btn:hover:not(:disabled){color:#22c55e;border-color:#22c55e}.ir-accept-btn.accepted{color:#000;background:#22c55e;border-color:#22c55e}.ir-accept-btn.locked{color:#3a3a5a;cursor:not-allowed;opacity:.6;background:#1a1a2e;border-color:#2a2a4a}.ir-marker-btn{cursor:pointer;color:#e8e8e8;font-size:11px;font-weight:600;font-family:var(--font-family-primary);white-space:nowrap;background:#0f3460;border:1px solid #2a2a4a;border-radius:6px;flex-shrink:0;padding:7px 12px;transition:all .15s}.ir-marker-btn:hover{border-color:#f4a}.ir-marker-btn.armed{color:#000;background:#f4a;border-color:#f4a}.ir-marker-btn.placed{color:#f4a;border-color:#f4a}.ir-edit-badge{color:#7a7a9a;white-space:nowrap;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px}.ir-field-chip{white-space:nowrap;background:#ffffff0a;border:1px solid #2a2a4a;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.ir-field-chip__id{color:#e8e8e8;font-weight:600}.ir-field-chip__sep{color:#3a3a5a}.ir-field-chip__frac{color:#22c55e}.ir-map-area{flex:1;position:relative;overflow:hidden}.ir-map{background:#0a0a0a;position:absolute;inset:0}.ir-map .ir-dots-layer{opacity:0;transition:opacity 1s ease-in}.ir-map.ir-dots-visible .ir-dots-layer{opacity:1}.ir-map.placing{cursor:crosshair!important}.ir-map-loading{z-index:500;color:#a0a0a0;background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}.ir-map-loading.hidden{display:none}.ir-spinner{border:3px solid #2a2a4a;border-top-color:#e94560;border-radius:50%;width:36px;height:36px;animation:.9s linear infinite ir-spin}@keyframes ir-spin{to{transform:rotate(360deg)}}.ir-toast{z-index:600;opacity:0;pointer-events:none;white-space:nowrap;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:500;transition:opacity .25s;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.ir-toast.visible{opacity:1}.ir-toast.success{color:#000;background:#22c55e}.ir-toast.error{color:#fff;background:#ef4444}.ir-toast.info{color:#e8e8e8;background:#0f3460;border:1px solid #2a2a4a}.ir-legend{z-index:300;background:#16213e;border:1px solid #2a2a4a;border-radius:8px;min-width:160px;padding:10px 14px;font-size:11px;position:absolute;bottom:12px;left:12px}.ir-legend__title{color:#7a7a9a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:10px;font-weight:600}.ir-legend__item{color:#e8e8e8;align-items:center;gap:8px;margin-bottom:5px;display:flex}.ir-legend__item:last-child{margin-bottom:0}.ir-legend__dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.ir-legend__count{color:#7a7a9a;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px}.ir-legend__sep{background:#2a2a4a;height:1px;margin:7px 0}.ir-legend__ortho{color:#a0a0a0;align-items:center;gap:6px;font-size:10px;display:flex}.ir-legend__ortho input{accent-color:#e94560;cursor:pointer}.ir-legend__line{border-radius:1px;flex-shrink:0;width:20px;height:3px}.ir-legend__line--dashed{background:0 0;border-top:3px dashed #15803d}.ir-toolbar{z-index:200;background:#16213e;border-top:1px solid #2a2a4a;flex-shrink:0;align-items:center;gap:6px;height:46px;padding:0 12px;display:flex}.ir-toolbar.locked{background:#111120}.ir-class-btn{color:#e8e8e8;cursor:pointer;background:0 0;border:1px solid #2a2a4a;border-radius:6px;align-items:center;gap:6px;padding:5px 11px;font-family:Inter,sans-serif;font-size:11px;transition:all .12s;display:flex}.ir-class-btn:hover:not(:disabled){background:#ffffff0a;border-color:currentColor}.ir-class-btn.active{background:#ffffff12;border-color:currentColor}.ir-class-btn:disabled{opacity:.3;cursor:not-allowed;filter:grayscale(.5)}.ir-class-btn__dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.ir-class-btn__shortcut{color:#7a7a9a;font-family:JetBrains Mono,monospace;font-size:9px}.ir-toolbar__divider{background:#2a2a4a;width:1px;height:24px}.ir-toolbar__stats{color:#7a7a9a;gap:14px;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.ir-empty{color:#3a3a5a;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}.ir-empty .material-symbols-outlined{color:#2a2a4a;font-size:48px}.ir-dot-tooltip{pointer-events:none;z-index:400;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080a14f0;border:1px solid #ffffff1a;border-radius:10px;min-width:190px;max-width:260px;padding:0;animation:.1s ir-tooltip-in;position:absolute;overflow:hidden;box-shadow:0 8px 32px #0009,0 0 0 1px #ffffff0a,inset 0 1px #ffffff0f}@keyframes ir-tooltip-in{0%{opacity:0;transform:translateY(3px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ir-dot-tooltip__type-row{align-items:center;gap:7px;padding:8px 11px 7px;display:flex}.ir-dot-tooltip__type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ir-dot-tooltip__type-label{letter-spacing:.02em;flex:1;font-size:12px;font-weight:700}.ir-dot-tooltip__edit-badge{letter-spacing:.04em;color:#a78bfa;white-space:nowrap;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.ir-dot-tooltip__divider{background:#ffffff0f;height:1px}.ir-dot-tooltip__grid{grid-template-columns:auto 1fr;align-items:baseline;gap:3px 10px;padding:7px 11px 9px;display:grid}.ir-dot-tooltip__key{letter-spacing:.08em;text-transform:uppercase;color:#6b7a99;white-space:nowrap;font-size:9.5px;font-weight:600}.ir-dot-tooltip__val{color:#c8d0e0;text-align:right;font-size:11.5px;font-weight:500}.ir-dot-tooltip__val--mono{letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:10.5px}.ir-dot-tooltip__val--accent{color:#a78bfa}.ir-dot-tooltip__val--dim{color:#5a6282;font-size:10px}.ir-inactive-badge{font-size:10px;font-weight:600;font-family:var(--font-family-primary);white-space:nowrap;color:#9a9a9a;cursor:help;background:#6464642e;border:1px solid #3a3a3a;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.ir-legend__inactive-swatch{background:repeating-linear-gradient(-45deg,#78787880 0 3px,#28282866 3px 8px);border:1px solid #555;border-radius:2px;flex-shrink:0;width:20px;height:12px}.ir-count-inactive{opacity:.45;font-style:italic;color:#7a7a9a!important}.ir-dot-action-panel{z-index:9100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:all;-webkit-user-select:none;user-select:none;color:#d0d4e0;background:#12141cf5;border:1px solid #ffffff1f;border-radius:10px;width:200px;font-size:12px;animation:.12s ir-panel-in;position:absolute;box-shadow:0 8px 32px #0000008c,0 0 0 1px #ffffff0a}@keyframes ir-panel-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ir-dot-action-panel__header{letter-spacing:.04em;text-transform:uppercase;color:#8892a4;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:8px 10px 6px;font-size:11px;display:flex}.ir-dot-action-panel__close{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1;transition:color .15s}.ir-dot-action-panel__close:hover{color:#e5e7eb}.ir-dot-action-panel__classes{flex-direction:column;gap:1px;padding:4px 6px;display:flex}.ir-dot-action-panel__cls{color:#c8cdd8;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:5px 8px;font-size:12px;transition:background .12s;display:flex}.ir-dot-action-panel__cls:hover{background:#ffffff12}.ir-dot-action-panel__cls.active{color:#fff;background:#ffffff1a;font-weight:600}.ir-dot-action-panel__cls:disabled,.ir-dot-action-panel__cls.inactive{opacity:.3;cursor:not-allowed}.ir-dot-action-panel__cls:disabled:hover,.ir-dot-action-panel__cls.inactive:hover{background:0 0}.ir-dot-action-panel__cls-dot{background:var(--dot-color,#fff);border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 1.5px #0006}.ir-dot-action-panel__actions{border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:6px 10px 8px;display:flex}.ir-dot-action-panel__delete{color:#f87171;cursor:pointer;background:#ef44441f;border:1px solid #ef44444d;border-radius:6px;padding:4px 10px;font-size:11px;transition:background .15s,border-color .15s}.ir-dot-action-panel__delete:hover{background:#ef444440;border-color:#ef44448c}.ir-dot-action-panel__hint{color:#4b5563;font-size:10px;font-style:italic}.ir-legend__item--active-class{background:#ffffff0a;border-radius:5px;margin:0 -4px;padding:2px 4px}.ir-legend__controls-title{letter-spacing:.08em;text-transform:uppercase;color:#4a5068;margin-top:2px;margin-bottom:4px;font-size:9px;font-weight:600}.ir-legend__controls{flex-direction:column;gap:3px;display:flex}.ir-legend__ctrl-row{align-items:center;gap:6px;font-size:10px;display:flex}.ir-legend__kbd{color:#9aa0b8;white-space:nowrap;text-align:center;background:#ffffff12;border:1px solid #ffffff1f;border-radius:3px;flex-shrink:0;min-width:60px;padding:1px 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;line-height:1.6}.ir-legend__ctrl-action{color:#555d78;font-size:10px;line-height:1.3}.ir-reconcile-btn{color:#a78bfa;height:30px;font-size:11px;font-weight:600;font-family:var(--font-family-primary);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:#8b5cf612;border:1px solid #8b5cf640;border-radius:6px;flex-shrink:0;align-items:center;gap:7px;padding:0 13px 0 10px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:relative;overflow:hidden}.ir-reconcile-btn:before{content:"";background:#a78bfa;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.4s ease-in-out infinite recon-pulse;box-shadow:0 0 6px #a78bfa}@keyframes recon-pulse{0%,to{opacity:1}50%{opacity:.45}}.ir-reconcile-btn:hover:not(:disabled){color:#c4b5fd;background:#8b5cf624;border-color:#8b5cf680;box-shadow:0 0 16px #8b5cf62e}.ir-reconcile-btn.active{color:#ddd6fe;background:#8b5cf633;border-color:#8b5cf6a6;box-shadow:0 0 20px #8b5cf640}.ir-reconcile-btn.active:after{content:"";background:linear-gradient(90deg,#0000 0%,#a78bfa1f 50%,#0000 100%) 0 0/200% 100%;animation:2s linear infinite recon-shimmer;position:absolute;inset:0}@keyframes recon-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.ir-reconcile-btn:disabled{opacity:.3;cursor:not-allowed;animation:none}.ir-reconcile-btn:disabled:before{animation:none}.ir-map-area--panel-open{margin-right:416px;transition:margin-right .22s cubic-bezier(.22,1,.36,1)}.ir-delta-badge{color:#fbbf24;background:#f59e0b14;border:1px solid #f59e0b38;border-radius:6px;align-items:center;gap:7px;margin-left:6px;padding:3px 10px 3px 9px;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500;transition:background .3s,border-color .3s,color .3s;display:flex}.ir-delta-badge--done{color:#4ade80;background:#22c55e14;border-color:#22c55e38}.ir-delta-badge__label{color:#a78bfa;letter-spacing:.01em;font-weight:700}.ir-delta-badge__sep{color:#ffffff1f;font-weight:300}.ir-delta-badge__remaining{color:#fbbf24}.ir-delta-badge__remaining--done{color:#4ade80;font-weight:700}.ir-delta-badge__clear{color:#fff3;cursor:pointer;background:0 0;border:none;padding:0 0 0 3px;font-family:inherit;font-size:13px;line-height:1;transition:color .15s}.ir-delta-badge__clear:hover{color:#ffffff8c}@keyframes ir-tip-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ir-view-edit-toggle{background:#ffffff0a;border:1px solid #2a2a4a;border-radius:7px;flex-shrink:0;align-items:center;gap:2px;padding:2px;display:inline-flex}.ir-toggle-btn{color:#6b7a99;font-size:11px;font-weight:600;font-family:var(--font-family-primary);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:4px 12px;transition:background .15s,color .15s}.ir-toggle-btn:hover:not(.ir-toggle-btn--active){color:#a0aabb;background:#ffffff0a}.ir-toggle-btn--active{color:#e8e8f0;background:#0f3460;box-shadow:0 1px 4px #0006}.ir-toggle-btn--active:last-child{color:#93c5fd;background:linear-gradient(135deg,#0f3460 0%,#1a2a50 100%);border:1px solid #93c5fd33}.ir-legend__controls-section{opacity:0;pointer-events:none;max-height:0;transition:max-height .28s cubic-bezier(.22,1,.36,1),opacity .22s;overflow:hidden}.ir-legend__controls-section--visible{opacity:1;pointer-events:auto;max-height:220px}.ir-legend__ctrl-action--edit{color:#7a8bb0}.ir-oob-banner{z-index:400;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#0f0f14eb;border:1.5px solid #f97316;border-radius:10px;align-items:center;gap:10px;padding:10px 16px;animation:.25s oob-slide-in;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #f973164d}.ir-oob-banner--loading{box-shadow:none;border-color:#64748b80}@keyframes oob-slide-in{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.ir-oob-banner__icon{font-size:16px}.ir-oob-banner__text{color:#e2e8f0;font-size:13px}.ir-oob-banner__text strong{color:#f97316;font-variant-numeric:tabular-nums}.ir-oob-banner__remove{color:#fff;cursor:pointer;background:#f97316;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s}.ir-oob-banner__remove:hover:not(:disabled){background:#ea6c00}.ir-oob-banner__remove:disabled{opacity:.55;cursor:not-allowed}.ir-oob-check-btn{color:#f97316;cursor:pointer;white-space:nowrap;background:#f9731614;border:1.5px solid #f9731680;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.ir-oob-check-btn:hover:not(:disabled){background:#f973162e;border-color:#f97316}.ir-oob-check-btn--loading{opacity:.7;cursor:not-allowed}.ir-oob-check-btn--dirty{color:#fff;background:#f97316;border-color:#f97316;animation:2s ease-in-out infinite oob-pulse}.ir-oob-check-btn--dirty:hover:not(:disabled){background:#ea6c00}.ir-oob-check-btn:disabled{opacity:.45;cursor:not-allowed}@keyframes oob-pulse{0%,to{box-shadow:0 0 #f9731666}50%{box-shadow:0 0 0 6px #f9731600}}:root{--ob-bg:#0a0e1a;--ob-surface:#121827;--ob-surface-elevated:#1a2035;--ob-bubble-assistant:#1a2035;--ob-bubble-user:#1e3a5f;--ob-border:#ffffff12;--ob-border-strong:#ffffff1f;--ob-green:#22c55e;--ob-green-glow:#22c55e26;--ob-green-dim:#22c55e14;--ob-input-bg:#0f1624;--ob-input-border:#ffffff1a;--ob-input-focus-border:#22c55e;--confidence-high:#22c55e;--confidence-medium:#f59e0b;--confidence-low:#ef4444;--ob-radius-sm:6px;--ob-radius-md:12px;--ob-radius-lg:18px;--ob-radius-bubble:18px;--ob-transition:.18s cubic-bezier(.16, 1, .3, 1)}.onboarding__page{background:var(--ob-bg);font-family:var(--font-family-primary,"Inter", system-ui, sans-serif);color:#fff;z-index:100;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.onboarding__header{border-bottom:1px solid var(--ob-border);-webkit-backdrop-filter:blur(12px);z-index:10;background:#0a0e1ae6;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.onboarding__header-brand{align-items:center;gap:10px;display:flex}.onboarding__header-brand-icon{background:var(--ob-green-dim);border-radius:var(--ob-radius-md);width:32px;height:32px;color:var(--ob-green);border:1px solid #22c55e4d;justify-content:center;align-items:center;font-size:16px;display:flex}.onboarding__header-title{font-family:var(--font-family-heading,"Outfit", system-ui, sans-serif);color:#fff;letter-spacing:-.2px;font-size:1rem;font-weight:600}.onboarding__header-subtitle{color:#ffffff73;margin-top:1px;font-size:.7rem}.onboarding__header-right{align-items:center;gap:10px;display:flex}.onboarding__lang-toggle{background:var(--ob-surface);border:1px solid var(--ob-border);border-radius:20px;align-items:center;gap:2px;padding:2px;display:flex}.onboarding__lang-btn{color:#ffffff73;cursor:pointer;transition:all var(--ob-transition);letter-spacing:.03em;background:0 0;border:none;border-radius:16px;padding:4px 10px;font-family:inherit;font-size:.72rem;font-weight:600}.onboarding__lang-btn--active{background:var(--ob-green);color:#000}.onboarding__lang-btn:hover:not(.onboarding__lang-btn--active){color:#fff}.onboarding__body{flex:1;min-height:0;display:flex;overflow:hidden}.onboarding__sidebar{border-right:1px solid var(--ob-border);background:#0a0e1a99;flex-direction:column;flex-shrink:0;gap:12px;width:260px;padding:16px 12px;display:flex;overflow-y:auto}@media (width<=768px){.onboarding__sidebar{display:none}}.onboarding__chat{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.onboarding__messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:24px 20px;display:flex;overflow-y:auto}.onboarding__messages::-webkit-scrollbar{width:6px}.onboarding__messages::-webkit-scrollbar-track{background:0 0}.onboarding__messages::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.onboarding__message-row{align-items:flex-end;gap:8px;animation:.28s cubic-bezier(.16,1,.3,1) both ob-slide-in;display:flex}.onboarding__message-row--user{flex-direction:row-reverse}@keyframes ob-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onboarding__avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.onboarding__avatar--assistant{background:var(--ob-green-dim);color:var(--ob-green);border:1px solid #22c55e40}.onboarding__avatar--user{color:#ffffffb3;background:#1e3a5f99;border:1px solid #6496dc33}.onboarding__bubble{border-radius:var(--ob-radius-bubble);word-break:break-word;max-width:680px;padding:12px 16px;font-size:.9rem;line-height:1.55;position:relative}.onboarding__bubble--assistant{background:var(--ob-bubble-assistant);border:1px solid var(--ob-border);border-bottom-left-radius:var(--ob-radius-sm);color:#ffffffeb}.onboarding__bubble--user{background:var(--ob-bubble-user);border-bottom-right-radius:var(--ob-radius-sm);color:#fffffff2;border:1px solid #6496dc33}.onboarding__bubble--cos-activated{border-radius:var(--ob-radius-lg);background:linear-gradient(135deg,#22c55e1f 0%,#10b98114 100%);border:1px solid #22c55e59}.onboarding__bubble-timestamp{color:#ffffff47;margin-top:5px;font-size:.65rem;display:block}.onboarding__typing{align-items:center;gap:4px;padding:10px 14px;display:flex}.onboarding__typing-dot{background:#ffffff59;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite ob-typing-bounce}.onboarding__typing-dot:nth-child(2){animation-delay:.15s}.onboarding__typing-dot:nth-child(3){animation-delay:.3s}@keyframes ob-typing-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.onboarding__cos-banner{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.onboarding__cos-icon{color:var(--ob-green);font-size:40px;animation:.6s ease-out ob-pulse-once}@keyframes ob-pulse-once{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.onboarding__cos-title{font-family:var(--font-family-heading,"Outfit", system-ui, sans-serif);color:var(--ob-green);margin:0;font-size:1.2rem;font-weight:700}.onboarding__cos-msg{color:#ffffffb3;max-width:360px;margin:0;font-size:.88rem;line-height:1.5}.onboarding__cos-btn{background:var(--ob-green);color:#000;cursor:pointer;transition:all var(--ob-transition);letter-spacing:.02em;border:none;border-radius:24px;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.onboarding__cos-btn:hover{background:#16a34a;transform:translateY(-1px);box-shadow:0 6px 20px #22c55e4d}.onboarding__input-area{border-top:1px solid var(--ob-border);background:#0a0e1ae6;flex-shrink:0;padding:12px 20px 16px}.onboarding__input-row{background:var(--ob-input-bg);border:1.5px solid var(--ob-input-border);border-radius:var(--ob-radius-lg);transition:border-color var(--ob-transition), box-shadow var(--ob-transition);align-items:flex-end;gap:8px;padding:8px 8px 8px 12px;display:flex}.onboarding__input-row:focus-within{border-color:var(--ob-input-focus-border);box-shadow:0 0 0 3px var(--ob-green-glow)}.onboarding__textarea{color:#fff;resize:none;background:0 0;border:none;outline:none;flex:1;min-height:36px;max-height:140px;padding:4px 0;font-family:inherit;font-size:.9rem;line-height:1.5}.onboarding__textarea::placeholder{color:#ffffff47}.onboarding__attach-btn{border:1px solid var(--ob-border);border-radius:var(--ob-radius-md);color:#fff6;cursor:pointer;width:36px;height:36px;transition:all var(--ob-transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.onboarding__attach-btn:hover{color:#ffffffbf;border-color:var(--ob-border-strong);background:#ffffff0f}.onboarding__send-btn{border-radius:var(--ob-radius-md);background:var(--ob-green);color:#000;cursor:pointer;width:36px;height:36px;transition:all var(--ob-transition);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.onboarding__send-btn:hover:not(:disabled){background:#16a34a;transform:scale(1.06)}.onboarding__send-btn:disabled{color:#0000004d;cursor:not-allowed;background:#22c55e33}.onboarding__input-hint{color:#ffffff38;text-align:center;margin-top:6px;font-size:.68rem}.onboarding__progress-meter{flex-direction:column;gap:10px;display:flex}.onboarding__progress-title{text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;margin-bottom:4px;font-size:.68rem;font-weight:700}.onboarding__progress-item{flex-direction:column;gap:4px;display:flex}.onboarding__progress-label-row{justify-content:space-between;align-items:center;display:flex}.onboarding__progress-label{color:#ffffff80;align-items:center;gap:6px;font-size:.78rem;display:flex}.onboarding__progress-label-icon{color:#ffffff40;font-size:15px}.onboarding__progress-label--has-data .onboarding__progress-label-icon{color:var(--ob-green)}.onboarding__progress-label--has-data{color:#fffc}.onboarding__progress-count{font-family:var(--font-family-heading,"Outfit", system-ui, sans-serif);color:#fff6;font-size:.82rem;font-weight:700}.onboarding__progress-count--has-data{color:var(--ob-green)}.onboarding__progress-bar-track{background:#ffffff0f;border-radius:2px;height:4px;overflow:hidden}.onboarding__progress-bar-fill{background:var(--ob-green);border-radius:2px;min-width:0%;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.onboarding__progress-bar-fill--zero{background:#ffffff14}.onboarding__entity-sidebar{flex-direction:column;gap:16px;animation:.3s both ob-slide-in;display:flex}.onboarding__entity-sidebar-title{text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;font-size:.68rem;font-weight:700}.onboarding__entity-group{flex-direction:column;gap:6px;display:flex}.onboarding__entity-group-label{text-transform:uppercase;letter-spacing:.06em;color:#fff6;align-items:center;gap:5px;font-size:.7rem;font-weight:600;display:flex}.onboarding__entity-card{background:var(--ob-surface);border:1px solid var(--ob-border);border-radius:var(--ob-radius-md);flex-direction:column;gap:3px;padding:8px 10px;animation:.25s both ob-slide-in;display:flex}.onboarding__entity-card-name{color:#ffffffe6;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.onboarding__entity-card-meta{color:#fff6;flex-wrap:wrap;align-items:center;gap:5px;font-size:.72rem;display:flex}.onboarding__entity-badge{background:var(--ob-green-dim);color:var(--ob-green);letter-spacing:.02em;border:1px solid #22c55e33;border-radius:8px;align-items:center;padding:1px 6px;font-size:.65rem;font-weight:600;display:inline-flex}.onboarding__entity-empty{color:#ffffff40;text-align:center;padding:20px 10px;font-size:.8rem;line-height:1.5}.onboarding__confirm-card{background:var(--ob-surface);border:1px solid var(--ob-border-strong);border-radius:var(--ob-radius-lg);margin-top:6px;animation:.3s both ob-slide-in;overflow:hidden}.onboarding__confirm-card-header{border-bottom:1px solid var(--ob-border);background:#0003;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.onboarding__confirm-card-title{font-family:var(--font-family-heading,"Outfit", system-ui, sans-serif);color:#ffffffe6;align-items:center;gap:8px;font-size:.92rem;font-weight:700;display:flex}.onboarding__accept-all-btn{background:var(--ob-green);color:#000;cursor:pointer;transition:all var(--ob-transition);letter-spacing:.02em;border:none;border-radius:20px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.78rem;font-weight:700;display:inline-flex}.onboarding__accept-all-btn:hover{background:#16a34a;transform:scale(1.03)}.onboarding__confirm-group{border-bottom:1px solid var(--ob-border)}.onboarding__confirm-group:last-child{border-bottom:none}.onboarding__confirm-group-header{text-transform:uppercase;letter-spacing:.07em;color:#ffffff73;background:#0000001f;align-items:center;gap:8px;padding:8px 16px;font-size:.7rem;font-weight:700;display:flex}.onboarding__confirm-item{transition:background var(--ob-transition);cursor:pointer;border-bottom:1px solid #ffffff0a;align-items:center;gap:10px;padding:10px 16px;display:flex}.onboarding__confirm-item:last-child{border-bottom:none}.onboarding__confirm-item:hover{background:#ffffff08}.onboarding__confirm-item--accepted{background:#22c55e0a}.onboarding__confirm-item--rejected{opacity:.6;background:#ef44440a}.onboarding__confidence-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.onboarding__confidence-dot--high{background:var(--confidence-high);box-shadow:0 0 5px #22c55e66}.onboarding__confidence-dot--medium{background:var(--confidence-medium);box-shadow:0 0 5px #f59e0b66}.onboarding__confidence-dot--low{background:var(--confidence-low);box-shadow:0 0 5px #ef444466}.onboarding__confirm-item-name{color:#ffffffe6;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.onboarding__confirm-item-meta{color:#ffffff59;font-size:.72rem}.onboarding__item-toggle{flex-shrink:0;gap:4px;display:flex}.onboarding__item-toggle-btn{border:1px solid var(--ob-border);color:#ffffff59;cursor:pointer;width:26px;height:26px;transition:all var(--ob-transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:13px;display:flex}.onboarding__item-toggle-btn--accept{color:var(--confidence-high);border-color:#22c55e4d}.onboarding__item-toggle-btn--accept.onboarding__item-toggle-btn--active{border-color:var(--confidence-high);background:#22c55e33}.onboarding__item-toggle-btn--reject{color:var(--confidence-low);border-color:#ef44444d}.onboarding__item-toggle-btn--reject.onboarding__item-toggle-btn--active{border-color:var(--confidence-low);background:#ef444426}.onboarding__item-toggle-btn:hover{transform:scale(1.1)}.onboarding__crop-image{border-radius:var(--ob-radius-sm);object-fit:cover;border:1px solid var(--ob-border);flex-shrink:0;width:48px;height:48px}.onboarding__dropzone{border:1.5px dashed var(--ob-border);border-radius:var(--ob-radius-md);cursor:pointer;transition:all var(--ob-transition);color:#ffffff59;background:0 0;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:.8rem;display:flex;position:relative}.onboarding__dropzone:hover,.onboarding__dropzone--active{border-color:var(--ob-green);background:var(--ob-green-dim);color:#ffffffb3}.onboarding__dropzone-icon{color:inherit;flex-shrink:0;font-size:18px}.onboarding__dropzone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.onboarding__upload-bar{background:var(--ob-green);border-radius:2px;height:3px;margin-top:4px;transition:width .3s}.onboarding__qr-panel{flex-direction:column;gap:20px;padding:20px;animation:.3s both ob-slide-in;display:flex}.onboarding__qr-panel-title{font-family:var(--font-family-heading,"Outfit", system-ui, sans-serif);color:#ffffffe6;align-items:center;gap:8px;margin:0;font-size:1.1rem;font-weight:700;display:flex}.onboarding__qr-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.onboarding__qr-card{background:var(--ob-surface);border:1px solid var(--ob-border);border-radius:var(--ob-radius-lg);flex-direction:column;align-items:center;gap:10px;padding:16px;animation:.3s both ob-slide-in;display:flex}.onboarding__qr-code-wrapper{border-radius:var(--ob-radius-md);background:#fff;justify-content:center;align-items:center;padding:8px;display:flex}.onboarding__qr-crew-name{color:#ffffffe6;text-align:center;font-size:.88rem;font-weight:700}.onboarding__qr-crew-leader{color:#fff6;text-align:center;font-size:.72rem}.onboarding__qr-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.onboarding__qr-btn{cursor:pointer;transition:all var(--ob-transition);border:1px solid var(--ob-border);color:#fff9;background:0 0;border-radius:14px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.onboarding__qr-btn:hover{color:#fff;background:#ffffff0f}.onboarding__qr-btn--wa{color:#25d366;border-color:#25d3664d}.onboarding__qr-btn--wa:hover{background:#25d3661a}.onboarding__qr-dismiss{justify-content:center;display:flex}.onboarding__qr-dismiss-btn{border:1px solid var(--ob-border);color:#ffffff73;cursor:pointer;transition:all var(--ob-transition);background:0 0;border-radius:20px;padding:10px 28px;font-family:inherit;font-size:.82rem}.onboarding__qr-dismiss-btn:hover{color:#ffffffbf;border-color:var(--ob-border-strong)}.onboarding__starting{color:#ffffff80;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;font-size:.88rem;display:flex}.onboarding__starting-spinner{border:3px solid #22c55e26;border-top-color:var(--ob-green);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite ob-spin}@keyframes ob-spin{to{transform:rotate(360deg)}}.onboarding__progress-strip{border-bottom:1px solid var(--ob-border);flex-direction:row;flex-shrink:0;gap:8px;padding:8px 16px;display:none;overflow-x:auto}@media (width<=768px){.onboarding__progress-strip{display:flex}}.onboarding__strip-item{border:1px solid var(--ob-border);color:#fff6;white-space:nowrap;background:0 0;border-radius:14px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;display:flex}.onboarding__strip-item--has-data{color:var(--ob-green);background:var(--ob-green-dim);border-color:#22c55e4d}@media (width<=480px){.onboarding__messages{padding:16px 12px}.onboarding__input-area{padding:10px 12px 14px}.onboarding__bubble{font-size:.85rem}}@media (width>=769px) and (width<=1024px){.onboarding__sidebar{width:220px}}.onboarding__review-scroll{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px;display:flex;overflow-y:auto}.onboarding__review-pending-badge{color:var(--confidence-medium);letter-spacing:.02em;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:14px;align-items:center;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.onboarding__review-list{flex-direction:column;gap:16px;width:100%;max-width:920px;margin:0 auto;display:flex}.onboarding__review-card{background:var(--ob-surface);border:1px solid var(--ob-border-strong);border-radius:var(--ob-radius-lg);animation:.3s both ob-slide-in;overflow:hidden}.onboarding__review-card--resolved{opacity:.78}.onboarding__review-card-header{border-bottom:1px solid var(--ob-border);background:#0003;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.onboarding__review-card-title{font-family:var(--font-family-heading,"Outfit", system-ui, sans-serif);color:#ffffffe6;align-items:center;gap:8px;font-size:.92rem;font-weight:700;display:flex}.onboarding__review-band{letter-spacing:.02em;color:var(--confidence-medium);background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:12px;align-items:center;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.onboarding__review-band--conflict{color:var(--confidence-low);background:#ef44441f;border-color:#ef44444d}.onboarding__review-grid{background:var(--ob-border);grid-template-columns:minmax(120px,1fr) minmax(0,1.5fr) minmax(0,1.5fr);gap:1px;padding:1px;display:grid}.onboarding__review-colhead{text-transform:uppercase;letter-spacing:.06em;color:#ffffff73;background:#0000002e;padding:8px 12px;font-size:.68rem;font-weight:700}.onboarding__review-colhead--incoming{color:#78aaffd9}.onboarding__review-colhead--candidate{color:#22c55ed9}.onboarding__review-rowlabel{color:#ffffff80;background:var(--ob-surface);align-items:center;gap:5px;padding:9px 12px;font-size:.76rem;display:flex}.onboarding__review-rowlabel--matched{color:var(--ob-green);background:var(--ob-green-dim);font-weight:600}.onboarding__review-match-icon{color:var(--ob-green);font-size:14px}.onboarding__review-cell{color:#ffffffe0;background:var(--ob-surface);cursor:default;align-items:center;gap:8px;padding:9px 12px;font-size:.82rem;display:flex}.onboarding__review-cell--matched{background:var(--ob-green-dim)}.onboarding__review-cell--choosable{cursor:pointer}.onboarding__review-cell--choosable:hover{background:#ffffff0a}.onboarding__review-cell--chosen{box-shadow:inset 2px 0 0 var(--ob-green);background:#22c55e1a}.onboarding__review-cell input[type=radio]{accent-color:var(--ob-green);cursor:pointer;flex-shrink:0}.onboarding__review-cell-value{text-overflow:ellipsis;word-break:break-word;overflow:hidden}.onboarding__review-why{color:#22c55ed9;background:var(--ob-green-dim);border-top:1px solid var(--ob-border);align-items:flex-start;gap:6px;padding:10px 16px;font-size:.74rem;display:flex}.onboarding__review-error{color:var(--confidence-low);border-top:1px solid var(--ob-border);background:#ef444414;padding:8px 16px;font-size:.78rem}.onboarding__review-actions{border-top:1px solid var(--ob-border);justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.onboarding__review-btn{cursor:pointer;transition:all var(--ob-transition);border:1px solid var(--ob-border);background:0 0;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.8rem;font-weight:600;display:inline-flex}.onboarding__review-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding__review-btn--confirm{background:var(--ob-green);color:#000;border-color:var(--ob-green);font-weight:700}.onboarding__review-btn--confirm:hover:not(:disabled){background:#16a34a}.onboarding__review-btn--reject{color:#fff9}.onboarding__review-btn--reject:hover:not(:disabled){color:#fff;border-color:var(--ob-border-strong);background:#ffffff0f}.onboarding__review-btn--undo{color:#fff9;padding:6px 12px}.onboarding__review-btn--undo:hover:not(:disabled){color:#fff;background:#ffffff0f}.onboarding__review-resolved-row{justify-content:space-between;align-items:center;width:100%;display:flex}.onboarding__review-resolved-label{color:var(--ob-green);align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}.onboarding__review-empty{text-align:center;color:#ffffff80;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:48px 20px;display:flex}.onboarding__review-empty-msg{color:#fff9;max-width:360px;margin:0;font-size:.88rem;line-height:1.5}.onboarding__review-footer{border-top:1px solid var(--ob-border);background:#0a0e1aeb;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.onboarding__review-footer-back{color:#ffffff80;transition:color var(--ob-transition);font-size:.82rem;text-decoration:none}.onboarding__review-footer-back:hover{color:#fff}.onboarding__review-nav-btn{border-radius:var(--ob-radius-md);width:100%;color:var(--confidence-medium);cursor:pointer;transition:all var(--ob-transition);background:#f59e0b1a;border:1px solid #f59e0b4d;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:9px 12px;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:none;display:flex}.onboarding__review-nav-btn:hover{background:#f59e0b29}.onboarding__review-nav-badge{background:var(--confidence-medium);color:#000;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:700;display:inline-flex}.onboarding__gap-banner{border-radius:var(--ob-radius-md);background:#f59e0b14;border:1px solid #f59e0b40;align-items:flex-start;gap:12px;width:100%;max-width:920px;margin:0 auto;padding:14px 16px;animation:.3s both ob-slide-in;display:flex}.onboarding__gap-banner-icon{color:var(--confidence-medium);flex-shrink:0;font-size:20px}.onboarding__gap-banner-body{flex:1;min-width:0}.onboarding__gap-banner-title{color:var(--confidence-medium);margin-bottom:3px;font-size:.82rem;font-weight:700}.onboarding__gap-banner-msg{color:#ffffffbf;margin:0;font-size:.82rem;line-height:1.5}.onboarding__gap-banner-list{color:#ffffffa6;margin:6px 0 0;padding-left:18px;font-size:.8rem;line-height:1.6}.onboarding__gap-banner-dismiss{color:var(--confidence-medium);cursor:pointer;transition:all var(--ob-transition);background:0 0;border:1px solid #f59e0b4d;border-radius:14px;flex-shrink:0;padding:5px 12px;font-family:inherit;font-size:.74rem;font-weight:600}.onboarding__gap-banner-dismiss:hover{background:#f59e0b1f}@media (width<=640px){.onboarding__review-grid{grid-template-columns:1fr}.onboarding__review-colhead--incoming,.onboarding__review-colhead--candidate{border-top:1px solid var(--ob-border)}.onboarding__review-rowlabel{background:#0000001f;font-weight:700}}.onboarding__sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--canvas-status-confirmed:#4ade80;--canvas-status-pending:#fbbf24;--canvas-status-tentative:#818cf8;--canvas-status-cancelled:#f87171;--canvas-status-completed:#94a3b8;--canvas-status-confirmed-bg:#4ade801f;--canvas-status-pending-bg:#fbbf241f;--canvas-status-tentative-bg:#818cf81f;--canvas-status-cancelled-bg:#f871711a;--canvas-status-completed-bg:#94a3b814;--canvas-accent:#9acc57;--canvas-accent-glow:#9acc5759;--canvas-bg-primary:#0a0f19d6;--canvas-bg-secondary:#0f172a99;--canvas-bg-elevated:#0f172aeb;--canvas-bg-overlay:#0f172af2;--canvas-border:#ffffff0f;--canvas-border-hover:#ffffff1f;--canvas-border-accent:#9acc574d;--canvas-text-primary:#f1f5f9;--canvas-text-secondary:#e2e8f0;--canvas-text-muted:#94a3b8;--canvas-text-dim:#64748b;--canvas-font-heading:"Inter", system-ui, sans-serif;--canvas-font-body:"Inter", system-ui, sans-serif;--canvas-font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--canvas-text-xl:1.5rem;--canvas-text-lg:1.15rem;--canvas-text-md:.95rem;--canvas-text-sm:.82rem;--canvas-text-xs:.72rem;--canvas-space-xs:4px;--canvas-space-sm:8px;--canvas-space-md:16px;--canvas-space-lg:24px;--canvas-space-xl:32px;--canvas-space-2xl:48px;--canvas-motion-fast:.15s;--canvas-motion-normal:.3s;--canvas-motion-slow:.5s;--canvas-ease-default:cubic-bezier(.4, 0, .2, 1);--canvas-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--canvas-ease-out:cubic-bezier(0, 0, .2, 1);--canvas-elevation-base:0 1px 3px #0000004d;--canvas-elevation-raised:0 4px 16px #0006;--canvas-elevation-elevated:0 8px 32px #00000080;--canvas-elevation-overlay:0 16px 48px #0009, 0 0 0 1px #ffffff0a;--canvas-elevation-drag:0 12px 40px #0000008c, 0 0 24px #9acc5726;--canvas-radius-sm:6px;--canvas-radius-md:10px;--canvas-radius-lg:14px;--canvas-radius-xl:20px;--canvas-radius-pill:9999px;--canvas-lane-height:56px;--canvas-lane-header-width:200px;--canvas-slot-min-width:80px;--canvas-appointment-radius:8px;--canvas-grid-line:#ffffff0a;--canvas-grid-line-major:#ffffff14;--thinking-bg:#080c15f5;--thinking-node-bg:#1e293bcc;--thinking-node-border:#64748b4d;--thinking-connection:#9acc5766;--thinking-connection-glow:#9acc5726;--thinking-passed:#4ade80;--thinking-failed:#f87171;--thinking-checking:#fbbf24;--thinking-pending:#475569;--thinking-pulse-speed:1.5s;--approval-glass-bg:#0f172abf;--approval-glass-blur:16px;--approval-approve:#4ade80;--approval-reject:#f87171;--approval-defer:#fbbf24}.canvas-schedule{background:var(--canvas-bg-elevated);border:1px solid var(--canvas-border);border-radius:var(--canvas-radius-lg);font-family:var(--canvas-font-body);overflow:hidden}.canvas-schedule-header{padding:var(--canvas-space-md) var(--canvas-space-lg);border-bottom:1px solid var(--canvas-border);background:var(--canvas-bg-secondary);justify-content:space-between;align-items:center;display:flex}.canvas-schedule-title{font-family:var(--canvas-font-heading);font-size:var(--canvas-text-lg);color:var(--canvas-text-primary);font-weight:700}.canvas-schedule-controls{align-items:center;gap:var(--canvas-space-sm);display:flex}.canvas-schedule-view-toggle{border-radius:var(--canvas-radius-sm);background:#ffffff0a;padding:2px;display:flex}.canvas-schedule-view-btn{color:var(--canvas-text-muted);font-size:var(--canvas-text-sm);cursor:pointer;transition:all var(--canvas-motion-fast) var(--canvas-ease-default);background:0 0;border:none;border-radius:4px;padding:6px 14px}.canvas-schedule-view-btn.active{color:var(--canvas-accent);background:#9acc5726}.canvas-schedule-view-btn:hover:not(.active){color:var(--canvas-text-secondary)}.canvas-timeline-grid{grid-template-columns:var(--canvas-lane-header-width) 1fr;scrollbar-width:thin;scrollbar-color:#94a3b826 transparent;display:grid;overflow-x:auto}.canvas-timeline-time-axis{padding-left:var(--canvas-lane-header-width);border-bottom:1px solid var(--canvas-grid-line-major);background:var(--canvas-bg-secondary);z-index:2;display:flex;position:sticky;top:0}.canvas-timeline-time-label{min-width:var(--canvas-slot-min-width);padding:var(--canvas-space-sm) var(--canvas-space-xs);font-size:var(--canvas-text-xs);color:var(--canvas-text-dim);text-align:center;border-left:1px solid var(--canvas-grid-line);font-variant-numeric:tabular-nums;flex:1}.canvas-timeline-time-label.major{border-left-color:var(--canvas-grid-line-major);color:var(--canvas-text-muted);font-weight:500}.canvas-resource-lane{display:contents}.canvas-lane-header{align-items:center;gap:var(--canvas-space-sm);padding:0 var(--canvas-space-md);height:var(--canvas-lane-height);background:var(--canvas-bg-secondary);border-bottom:1px solid var(--canvas-grid-line);border-right:1px solid var(--canvas-grid-line-major);z-index:1;display:flex;position:sticky;left:0}.canvas-lane-icon{border-radius:var(--canvas-radius-sm);width:28px;height:28px;color:var(--canvas-accent);background:#ffffff0a;justify-content:center;align-items:center;font-size:16px;display:flex}.canvas-lane-name{font-size:var(--canvas-text-sm);color:var(--canvas-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.canvas-lane-meta{font-size:var(--canvas-text-xs);color:var(--canvas-text-dim)}.canvas-lane-slots{height:var(--canvas-lane-height);border-bottom:1px solid var(--canvas-grid-line);display:flex;position:relative}.canvas-appointment{border-radius:var(--canvas-appointment-radius);cursor:pointer;transition:box-shadow var(--canvas-motion-fast) var(--canvas-ease-default), transform var(--canvas-motion-fast) var(--canvas-ease-default);z-index:1;flex-direction:column;justify-content:center;padding:4px 10px;display:flex;position:absolute;top:4px;bottom:4px;overflow:hidden}.canvas-appointment:hover{box-shadow:var(--canvas-elevation-raised);z-index:2;transform:translateY(-1px)}.canvas-appointment-title{font-size:var(--canvas-text-sm);color:var(--canvas-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.canvas-appointment-time{font-size:var(--canvas-text-xs);color:var(--canvas-text-muted);font-variant-numeric:tabular-nums}.canvas-appointment.status-confirmed{background:var(--canvas-status-confirmed-bg);border-left:3px solid var(--canvas-status-confirmed)}.canvas-appointment.status-pending{background:var(--canvas-status-pending-bg);border-left:3px solid var(--canvas-status-pending)}.canvas-appointment.status-tentative{background:var(--canvas-status-tentative-bg);border-left:3px solid var(--canvas-status-tentative)}.canvas-appointment.status-cancelled{background:var(--canvas-status-cancelled-bg);border-left:3px solid var(--canvas-status-cancelled)}.canvas-appointment.status-completed{background:var(--canvas-status-completed-bg);border-left:3px solid var(--canvas-status-completed)}.canvas-appointment.draggable{cursor:grab}.canvas-appointment.draggable:active{cursor:grabbing}.canvas-appointment.dragging{opacity:.85;box-shadow:var(--canvas-elevation-drag);z-index:100;transform:scale(1.02)}.canvas-pending-ghost{opacity:.35;pointer-events:none;border-style:dashed}.canvas-pending-highlight{animation:pendingPulse 2s var(--canvas-ease-default) infinite;box-shadow:0 0 0 2px var(--canvas-accent-glow)}@keyframes pendingPulse{0%,to{box-shadow:0 0 0 2px var(--canvas-accent-glow)}50%{box-shadow:0 0 0 4px var(--canvas-accent-glow), 0 0 16px var(--canvas-accent-glow)}}.canvas-constraint-tooltip{background:var(--canvas-bg-overlay);border:1px solid var(--canvas-border-hover);border-radius:var(--canvas-radius-md);padding:var(--canvas-space-sm) var(--canvas-space-md);font-size:var(--canvas-text-sm);color:var(--canvas-text-secondary);box-shadow:var(--canvas-elevation-elevated);z-index:50;pointer-events:none;max-width:280px;position:absolute}.canvas-constraint-tooltip .constraint-status{align-items:center;gap:6px;margin-bottom:4px;display:flex}.canvas-constraint-tooltip .constraint-status.passed{color:var(--canvas-status-confirmed)}.canvas-constraint-tooltip .constraint-status.failed{color:var(--canvas-status-cancelled)}.canvas-constraint-tooltip .constraint-status.warning{color:var(--canvas-status-pending)}.canvas-schedule-empty{padding:var(--canvas-space-2xl);color:var(--canvas-text-dim);justify-content:center;align-items:center;gap:var(--canvas-space-md);flex-direction:column;min-height:200px;display:flex}.canvas-schedule-empty .material-symbols-outlined{opacity:.3;font-size:48px}.canvas-schedule-empty-text{font-size:var(--canvas-text-md)}.canvas-approval-card{background:var(--approval-glass-bg);-webkit-backdrop-filter:blur(var(--approval-glass-blur));border:1px solid var(--canvas-border-hover);border-radius:var(--canvas-radius-lg);padding:var(--canvas-space-lg);box-shadow:var(--canvas-elevation-overlay);animation:approvalSlideIn var(--canvas-motion-normal) var(--canvas-ease-spring)}@keyframes approvalSlideIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.canvas-approval-card-title{font-family:var(--canvas-font-heading);font-size:var(--canvas-text-lg);color:var(--canvas-text-primary);margin-bottom:var(--canvas-space-md);font-weight:700}.canvas-approval-card-context{font-size:var(--canvas-text-sm);color:var(--canvas-text-muted);margin-bottom:var(--canvas-space-lg);line-height:1.6}.canvas-approval-card-actions{gap:var(--canvas-space-sm);display:flex}.canvas-approval-btn{border-radius:var(--canvas-radius-md);font-size:var(--canvas-text-sm);cursor:pointer;transition:all var(--canvas-motion-fast) var(--canvas-ease-default);border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:600;display:flex}.canvas-approval-btn.approve{color:var(--approval-approve);background:#4ade801f;border-color:#4ade8040}.canvas-approval-btn.approve:hover{background:#4ade8038;box-shadow:0 0 16px #4ade8026}.canvas-approval-btn.reject{color:var(--approval-reject);background:#f871711a;border-color:#f8717133}.canvas-approval-btn.reject:hover{background:#f8717133}.canvas-approval-btn.defer{color:var(--approval-defer);background:#fbbf2414;border-color:#fbbf2426}.canvas-approval-btn.defer:hover{background:#fbbf242e}.canvas-approval-card.urgency-critical{box-shadow:var(--canvas-elevation-overlay), 0 0 24px #f871711a;border-color:#f8717166}.canvas-approval-card.urgency-high{border-color:#fbbf244d}.canvas-thinking{background:var(--thinking-bg);border-radius:var(--canvas-radius-lg);padding:var(--canvas-space-lg);border:1px solid #64748b26;min-height:120px;position:relative;overflow:hidden}.canvas-thinking:before{content:"";pointer-events:none;background-image:linear-gradient(#64748b0d 1px,#0000 1px),linear-gradient(90deg,#64748b0d 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.canvas-thinking-header{align-items:center;gap:var(--canvas-space-sm);margin-bottom:var(--canvas-space-lg);z-index:1;display:flex;position:relative}.canvas-thinking-label{font-family:var(--canvas-font-mono);font-size:var(--canvas-text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--canvas-accent);opacity:.7}.canvas-thinking-indicator{background:var(--canvas-accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite thinkingBlink}@keyframes thinkingBlink{0%,to{opacity:1}50%{opacity:.3}}.canvas-thinking-graph{z-index:1;flex-direction:column;gap:2px;display:flex;position:relative}.canvas-thinking-step{align-items:center;gap:var(--canvas-space-md);padding:var(--canvas-space-sm) var(--canvas-space-md);border-radius:var(--canvas-radius-sm);background:var(--thinking-node-bg);border:1px solid var(--thinking-node-border);animation:stepAppear var(--canvas-motion-normal) var(--canvas-ease-spring);transition:border-color var(--canvas-motion-fast) var(--canvas-ease-default), background var(--canvas-motion-fast) var(--canvas-ease-default);display:flex}@keyframes stepAppear{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.canvas-thinking-step-icon{width:24px;height:24px;transition:all var(--canvas-motion-normal) var(--canvas-ease-spring);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.canvas-thinking-step.pending .canvas-thinking-step-icon{color:var(--thinking-pending);border:1px solid var(--thinking-pending);background:#4755694d}.canvas-thinking-step.checking .canvas-thinking-step-icon{color:var(--thinking-checking);background:#fbbf2426;border:1px solid #fbbf244d;animation:1s linear infinite checkingSpin}@keyframes checkingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.canvas-thinking-step.passed .canvas-thinking-step-icon{color:var(--thinking-passed);animation:checkmarkLand var(--canvas-motion-normal) var(--canvas-ease-spring);background:#4ade8026;border:1px solid #4ade804d}@keyframes checkmarkLand{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.canvas-thinking-step.failed .canvas-thinking-step-icon{color:var(--thinking-failed);animation:failedPulse var(--thinking-pulse-speed) ease-in-out infinite;background:#f8717126;border:1px solid #f871714d}@keyframes failedPulse{0%,to{box-shadow:0 0 #f871714d}50%{box-shadow:0 0 0 6px #f8717100}}.canvas-thinking-step-label{font-family:var(--canvas-font-mono);font-size:var(--canvas-text-sm);color:var(--canvas-text-secondary);flex:1}.canvas-thinking-step-detail{font-size:var(--canvas-text-xs);color:var(--canvas-text-dim);font-family:var(--canvas-font-mono)}.canvas-thinking-step.passed{border-color:#4ade8026}.canvas-thinking-step.failed{border-color:#f8717126}.canvas-thinking-step.checking{border-color:#fbbf2426}.canvas-thinking-connection{background:linear-gradient(to bottom, var(--thinking-connection), transparent);width:2px;height:12px;margin-left:23px;position:relative}.canvas-thinking-connection.active{background:var(--thinking-connection);box-shadow:0 0 8px var(--thinking-connection-glow)}.canvas-thinking-summary{margin-top:var(--canvas-space-md);padding:var(--canvas-space-md);border-radius:var(--canvas-radius-sm);font-family:var(--canvas-font-mono);font-size:var(--canvas-text-sm);color:var(--canvas-accent);z-index:1;background:#9acc570f;border:1px solid #9acc5726;position:relative}.canvas-mobile-cards{gap:var(--canvas-space-sm);padding:var(--canvas-space-md);flex-direction:column;display:flex}.canvas-mobile-card{background:var(--canvas-bg-elevated);border:1px solid var(--canvas-border);border-radius:var(--canvas-radius-md);padding:var(--canvas-space-md);gap:var(--canvas-space-md);transition:background var(--canvas-motion-fast) var(--canvas-ease-default);align-items:flex-start;display:flex}.canvas-mobile-card:active{background:#ffffff0a}.canvas-mobile-card-status{border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.canvas-mobile-card-status.confirmed{background:var(--canvas-status-confirmed)}.canvas-mobile-card-status.pending{background:var(--canvas-status-pending)}.canvas-mobile-card-status.tentative{background:var(--canvas-status-tentative)}.canvas-mobile-card-status.cancelled{background:var(--canvas-status-cancelled)}.canvas-mobile-card-body{flex:1;min-width:0}.canvas-mobile-card-title{font-size:var(--canvas-text-md);color:var(--canvas-text-primary);margin-bottom:4px;font-weight:600}.canvas-mobile-card-subtitle{font-size:var(--canvas-text-sm);color:var(--canvas-text-muted)}.canvas-mobile-card-time{font-size:var(--canvas-text-xs);color:var(--canvas-text-dim);font-variant-numeric:tabular-nums;margin-top:4px}@media (width<=768px){.canvas-overlay.canvas-open{border-radius:var(--canvas-radius-xl) var(--canvas-radius-xl) 0 0;bottom:0;transform:translateY(0);width:100%!important;height:70vh!important;top:auto!important;left:0!important}.canvas-overlay.canvas-minimized{height:48px!important}.canvas-overlay.canvas-half{height:40vh!important}.canvas-schedule{border-radius:0}.canvas-lane-header-width{--canvas-lane-header-width:140px}}.canvas-entity-card,.canvas-briefing,.canvas-data-table-enhanced{background:var(--canvas-bg-elevated);border:1px solid var(--canvas-border);border-radius:var(--canvas-radius-lg);padding:var(--canvas-space-lg)}.canvas-error-boundary{padding:var(--canvas-space-lg);border-radius:var(--canvas-radius-md);text-align:center;color:var(--canvas-text-muted);background:#f871710f;border:1px solid #f8717126}.canvas-error-boundary-btn{margin-top:var(--canvas-space-md);color:var(--canvas-status-cancelled);border-radius:var(--canvas-radius-sm);cursor:pointer;font-size:var(--canvas-text-sm);transition:background var(--canvas-motion-fast);background:#f8717114;border:1px solid #f8717140;padding:8px 20px}.canvas-error-boundary-btn:hover{background:#f8717126}.canvas-overlay{z-index:500;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;pointer-events:none;background:#0a0f19d6;border:1px solid #006ea759;border-radius:14px;flex-direction:column;width:min(880px,100vw - 380px);height:min(640px,100vh - 140px);transition:opacity .25s ease-out,transform .25s ease-out,width .3s;display:flex;position:fixed;top:72px;left:24px;overflow:hidden;transform:scale(.97);box-shadow:0 24px 80px #0009,0 0 0 1px #ffffff0a}.canvas-overlay.canvas-open{opacity:.62;pointer-events:auto;transform:scale(1)}.canvas-overlay.canvas-open:hover,.canvas-overlay.canvas-open:focus-within{opacity:1}@media (prefers-reduced-motion:reduce){.canvas-overlay.canvas-open{opacity:1}}.canvas-header{cursor:grab;-webkit-user-select:none;user-select:none}.canvas-header:active{cursor:grabbing}.canvas-resize-handle{cursor:nwse-resize;z-index:5;background:linear-gradient(135deg,#0000 50%,#9acc5773 50%);border-bottom-right-radius:14px;width:22px;height:22px;position:absolute;bottom:0;right:0}.canvas-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a99;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.canvas-header-title{font-family:var(--font-family-heading,"Inter", sans-serif);color:#f1f5f9;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:flex}.canvas-header-title .canvas-icon{color:#9acc57;font-size:22px}.canvas-header-actions{align-items:center;gap:8px;display:flex}.canvas-header-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:.8rem;transition:all .15s;display:flex}.canvas-header-btn:hover{color:#e2e8f0;background:#ffffff1a;border-color:#ffffff26}.canvas-close-btn{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:.8rem;transition:all .15s;display:flex}.canvas-close-btn:hover{color:#fecaca;background:#ef444433}.canvas-content{scrollbar-width:thin;scrollbar-color:#94a3b833 transparent;flex:1;padding:32px 40px;overflow-y:auto}.canvas-content::-webkit-scrollbar{width:6px}.canvas-content::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}.canvas-footer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a99;border-top:1px solid #ffffff0f;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:12px 28px;display:flex}.canvas-footer-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:500;transition:all .15s;display:flex}.canvas-footer-btn:hover{color:#e2e8f0;background:#ffffff1a}.canvas-footer-btn.primary{color:#9acc57;background:linear-gradient(135deg,#9acc5726,#6db33f26);border-color:#9acc574d}.canvas-footer-btn.primary:hover{background:linear-gradient(135deg,#9acc5740,#6db33f40)}.canvas-empty{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;display:flex}.canvas-empty .material-symbols-outlined{opacity:.4;font-size:48px}.canvas-block{margin-bottom:28px;animation:.35s ease-out canvasBlockIn}@keyframes canvasBlockIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.canvas-markdown{color:#e2e8f0;max-width:800px;font-size:.95rem;line-height:1.75}.canvas-markdown h1,.canvas-markdown h2,.canvas-markdown h3{font-family:var(--font-family-heading,"Inter", sans-serif);color:#f1f5f9;margin:24px 0 12px;font-weight:700}.canvas-markdown h1{font-size:1.6rem}.canvas-markdown h2{font-size:1.3rem}.canvas-markdown h3{font-size:1.1rem}.canvas-markdown p{margin:0 0 14px}.canvas-markdown ul,.canvas-markdown ol{margin:0 0 14px;padding-left:24px}.canvas-markdown li{margin-bottom:6px}.canvas-markdown code{color:#9acc57;background:#ffffff0f;border-radius:4px;padding:2px 6px;font-size:.88em}.canvas-markdown pre{background:#0000004d;border:1px solid #ffffff0f;border-radius:8px;margin:0 0 14px;padding:16px;overflow-x:auto}.canvas-markdown pre code{background:0 0;padding:0}.canvas-markdown strong{color:#f1f5f9}.canvas-markdown a{color:#9acc57;text-decoration:underline}.canvas-image-block{cursor:pointer;border:1px solid #ffffff0f;border-radius:12px;max-width:100%;transition:box-shadow .2s;display:inline-block;position:relative;overflow:hidden}.canvas-image-block:hover{box-shadow:0 8px 32px #0006}.canvas-image-block img{max-width:100%;height:auto;display:block}.canvas-image-block .canvas-image-caption{color:#94a3b8;background:#0f172acc;padding:10px 14px;font-size:.82rem}.canvas-image-annotations{pointer-events:none;position:absolute;inset:0}.canvas-image-error{color:#64748b;background:#ffffff08;border:1px dashed #ffffff1a;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:200px;font-size:.88rem;display:flex}.canvas-comparison{border:1px solid #ffffff0f;border-radius:12px;max-width:800px;position:relative;overflow:hidden}.canvas-comparison-container{position:relative}.canvas-comparison img{width:100%;height:auto;display:block}.canvas-comparison-after{position:absolute;inset:0;overflow:hidden}.canvas-comparison-after img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.canvas-comparison-slider{z-index:10;accent-color:#9acc57;width:80%;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.canvas-comparison-labels{color:#94a3b8;background:#0f172acc;justify-content:space-between;padding:8px 14px;font-size:.78rem;display:flex}.canvas-table-wrapper{background:#0f172a66;border:1px solid #ffffff0f;border-radius:12px;overflow:hidden}.canvas-table-title{font-family:var(--font-family-heading,"Inter", sans-serif);color:#f1f5f9;border-bottom:1px solid #ffffff0f;padding:14px 18px;font-size:.95rem;font-weight:600}.canvas-table-filter{border-bottom:1px solid #ffffff0a;padding:10px 18px}.canvas-table-filter input{color:#e2e8f0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;outline:none;width:260px;padding:7px 12px;font-size:.82rem;transition:border-color .15s}.canvas-table-filter input:focus{border-color:#9acc5766}.canvas-table-filter input::placeholder{color:#475569}.canvas-table-empty{text-align:center;color:#64748b;padding:32px;font-size:.88rem}table.canvas-table{border-collapse:collapse;width:100%;font-size:.85rem}table.canvas-table thead th{text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid #ffffff0f;padding:10px 14px;font-size:.78rem;font-weight:600}table.canvas-table thead th.sortable{cursor:pointer}table.canvas-table thead th.sortable:hover{color:#e2e8f0}table.canvas-table thead th .sort-arrow{opacity:.5;margin-left:4px;font-size:.7rem}table.canvas-table tbody tr{border-bottom:1px solid #ffffff08;transition:background .1s}table.canvas-table tbody tr:hover{background:#ffffff08}table.canvas-table tbody tr.clickable{cursor:pointer}table.canvas-table tbody tr.clickable:hover{background:#9acc570f}table.canvas-table tbody td{color:#cbd5e1;padding:10px 14px}table.canvas-table tbody td.numeric{font-variant-numeric:tabular-nums;text-align:right}.canvas-chart{background:#0f172a66;border:1px solid #ffffff0f;border-radius:12px;padding:20px;position:relative}.canvas-chart-title{font-family:var(--font-family-heading,"Inter", sans-serif);color:#f1f5f9;margin-bottom:16px;font-size:.95rem;font-weight:600}.canvas-chart svg{width:100%;height:auto}.canvas-chart-legend{border-top:1px solid #ffffff0a;gap:20px;margin-top:14px;padding-top:12px;display:flex}.canvas-chart-legend-item{color:#94a3b8;align-items:center;gap:6px;font-size:.78rem;display:flex}.canvas-chart-legend-swatch{border-radius:2px;width:12px;height:3px}.canvas-chart-tooltip{color:#e2e8f0;pointer-events:none;white-space:nowrap;z-index:10;background:#0f172af2;border:1px solid #ffffff1a;border-radius:8px;padding:8px 12px;font-size:.78rem;position:absolute;box-shadow:0 8px 24px #0006}.canvas-chart-empty{color:#64748b;justify-content:center;align-items:center;min-height:200px;font-size:.88rem;display:flex}.canvas-minimap{background:#0f172a66;border:1px solid #ffffff0f;border-radius:12px;height:280px;overflow:hidden}.canvas-minimap .ol-viewport{border-radius:12px}.canvas-report{background:#0f172a4d;border:1px solid #ffffff0f;border-radius:16px;padding:32px}.canvas-report-title{font-family:var(--font-family-heading,"Inter", sans-serif);color:#f1f5f9;border-bottom:2px solid #9acc5733;margin-bottom:28px;padding-bottom:16px;font-size:1.5rem;font-weight:700}.canvas-report-section{margin-bottom:32px}.canvas-report-section-heading{font-family:var(--font-family-heading,"Inter", sans-serif);color:#e2e8f0;align-items:center;gap:8px;margin-bottom:16px;font-size:1.1rem;font-weight:600;display:flex}.canvas-report-section-heading:before{content:"";background:#9acc57;border-radius:2px;flex-shrink:0;width:4px;height:20px}.canvas-lightbox{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.canvas-lightbox img{object-fit:contain;border-radius:8px;max-width:90vw;max-height:85vh}.canvas-lightbox-close{color:#e2e8f0;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:background .15s;display:flex;position:absolute;top:20px;right:24px}.canvas-lightbox-close:hover{background:#fff3}.canvas-toast{color:#9acc57;z-index:10000;opacity:0;background:#0f172af2;border:1px solid #9acc574d;border-radius:10px;align-items:center;gap:8px;padding:12px 20px;font-size:.85rem;font-weight:500;transition:all .3s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.canvas-toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media print{body *{visibility:hidden!important}.canvas-content,.canvas-content *{visibility:visible!important}.canvas-content{color:#1a1a1a;background:#fff;width:100%;padding:40px;position:absolute;top:0;left:0}.canvas-header,.canvas-footer,.canvas-overlay{display:none!important}.canvas-markdown,.canvas-markdown *{color:#1a1a1a!important}.canvas-table-wrapper{border-color:#ddd!important}table.canvas-table tbody td{color:#333!important}.canvas-print-watermark{color:#999;opacity:.5;font-size:.7rem;position:fixed;bottom:20px;right:20px;visibility:visible!important}}.canvas-print-watermark{display:none}.canvas-confirmation{width:100%;max-width:760px;margin:0 auto}.canvas-confirmation .onboarding__confirm-card{background:#0f172aeb;border:1px solid #9acc5740;border-radius:14px;width:100%;max-width:none;padding:18px 20px;position:static;box-shadow:0 8px 32px #00000059}.canvas-content{background:0 0;flex:1;padding:18px;overflow-y:auto}.gis-root{background:#0a0f19;width:100%;height:100%;position:relative;overflow:hidden}.gis-map-canvas{cursor:crosshair;position:absolute;inset:0}.gis-map-canvas .ol-attribution{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff6;background:#0a0f19b3;border:1px solid #ffffff14;border-radius:6px;padding:2px 8px;font-size:10px;bottom:8px;right:8px}.gis-map-canvas .ol-attribution button,.gis-map-canvas .ol-zoom{display:none}.gis-sidebar{z-index:200;-webkit-backdrop-filter:blur(20px);color:#e2e8f0;width:320px;font-family:var(--font-family-body,"Inter", sans-serif);opacity:.5;background:#0a0f19d1;border:1px solid #567eac4d;border-radius:14px;flex-direction:column;transition:opacity .25s ease-in-out;display:flex;position:absolute;top:16px;bottom:16px;right:16px;overflow:hidden;box-shadow:-4px 0 32px #0009,0 0 0 1px #ffffff0a}.gis-sidebar--collapsed{overflow:hidden;bottom:auto!important}.gis-sidebar--collapsed .gis-sidebar__body,.gis-sidebar--collapsed .locale-switch-bar{display:none}.gis-sidebar-collapse-btn{color:#64748b;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .15s,color .15s;display:flex}.gis-sidebar-collapse-btn:hover{color:#f1f5f9;background:#006ea740;border-color:#006ea766}.gis-sidebar-collapse-btn .material-symbols-outlined{font-size:18px}.gis-sidebar:hover,.gis-sidebar:focus-within{opacity:1}.gis-sidebar__header{border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:10px;padding:18px 20px 14px;display:flex}.gis-sidebar__header h2{color:#f1f5f9;letter-spacing:.01em;margin:0;font-size:1rem;font-weight:600}.gis-sidebar__icon{color:#3b82f6;font-size:20px}.gis-sidebar__body{flex-direction:column;flex:1;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.gis-sidebar__body::-webkit-scrollbar{width:4px}.gis-sidebar__body::-webkit-scrollbar-track{background:0 0}.gis-sidebar__body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.gis-card{background:#0000004d;border:1px solid #ffffff12;border-radius:10px;padding:14px}.gis-card--pinned{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#006ea714;border-color:#006ea773;position:sticky;top:0}.gis-card--draggable{cursor:grab;transition:opacity .15s,box-shadow .15s,border-color .15s}.gis-card--draggable:active{cursor:grabbing}.gis-card--dragging{opacity:.45;border-color:#006ea799;box-shadow:0 0 0 2px #006ea74d}.gis-card--draggable[draggable]:hover{border-color:#ffffff24}.gis-card__hdr{cursor:grab;align-items:center;gap:6px;margin-bottom:0;display:flex}.gis-card__hdr:has(+*){margin-bottom:8px}.gis-card__grip{color:#64748b80;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:16px;transition:color .15s}.gis-card--draggable:hover .gis-card__grip{color:#64748b}.gis-card__hdr .gis-card__label{flex:1;margin:0}.gis-card__caret{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px;transition:color .15s,background .15s;display:flex}.gis-card__caret:hover{color:#94a3b8;background:#ffffff0f}.gis-card__caret .material-symbols-outlined{font-size:16px}.gis-card__label{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0 0 8px;font-size:.7rem;font-weight:600}.gis-card__title{color:#94a3b8;align-items:center;gap:7px;margin:0 0 10px;font-size:.85rem;font-weight:600;display:flex}.gis-stat-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:.8rem;display:flex}.gis-stat-row:last-child{border-bottom:none}.gis-stat-row__label{color:#64748b}.gis-stat-row__value{color:#e2e8f0;font-family:JetBrains Mono,monospace;font-weight:600}.gis-stat-row__value.accent{color:#22c55e}.gis-hero-metric{align-items:baseline;gap:4px;display:flex}.gis-hero-metric__value{color:#f1f5f9;font-family:JetBrains Mono,monospace;font-size:1.9rem;font-weight:700}.gis-hero-metric__unit{color:#64748b;font-size:.9rem}.gis-hero-metric__delta{color:#22c55e;margin-left:8px;font-size:.75rem}.gis-select{color:#e2e8f0;cursor:pointer;background:#0006;border:1px solid #ffffff1f;border-radius:7px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:.82rem;transition:border-color .15s}.gis-select:focus{border-color:#3b82f6}.gis-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.gis-badge--active{color:#22c55e;background:#22c55e26}.gis-badge--harvested{color:#94a3b8;background:#64748b33}.gis-badge--planted{color:#60a5fa;background:#3b82f626}.gis-legend{flex-direction:column;gap:6px;display:flex}.gis-legend-item{color:#94a3b8;align-items:center;gap:8px;font-size:.8rem;display:flex}.gis-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.gis-loading-overlay{z-index:300;color:#94a3b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f19b3;justify-content:center;align-items:center;gap:12px;font-size:.9rem;display:flex;position:absolute;inset:0}@keyframes gis-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gis-spinner{border:2px solid #3b82f64d;border-top-color:#3b82f6;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite gis-spin}.gis-inventory-bar{z-index:250;transform-origin:0;background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:2px;animation:1.5s ease-in-out infinite alternate gis-progress;position:absolute;top:0;left:0;right:0}@keyframes gis-progress{0%{transform:scaleX(.2)}to{transform:scaleX(1)}}.gis-hint{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 0;display:flex}.gis-hint span.material-symbols-outlined{color:#334155;font-size:28px}.gis-hint p{color:#475569;margin:0;font-size:.8rem;line-height:1.5}.gis-layers-card{flex-direction:column;gap:10px;display:flex}.gis-layer-checkbox{color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:.8rem;display:flex}.gis-layer-checkbox input{cursor:pointer;accent-color:#3b82f6;width:14px;height:14px}.gis-layer-checkbox--disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.gis-layer-badge-soon{color:#64748b;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#64748b40;border:1px solid #64748b33;border-radius:10px;padding:1px 5px;font-size:.6rem;font-weight:700}.gis-pina-legend{border-top:1px solid #ffffff0d;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.gis-pina-legend-item{color:#94a3b8;align-items:center;gap:12px;font-size:.78rem;display:flex}.gis-pina-legend-circle{border:1px solid #ffffff4d;border-radius:50%;flex-shrink:0}.gis-pina-detail{flex-direction:column;gap:12px;display:flex}.gis-pina-detail__header{justify-content:space-between;align-items:center;display:flex}.gis-pina-detail__close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background .15s,color .15s;display:flex}.gis-pina-detail__close:hover{color:#f1f5f9;background:#ffffff14}.gis-carousel{background:#00000080;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.gis-carousel__nav{justify-content:space-between;align-items:center;display:flex}.gis-carousel__btn{color:#e2e8f0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;transition:background .15s;display:flex}.gis-carousel__btn:hover{background:#ffffff1f}.gis-carousel__btn:disabled{opacity:.3;cursor:not-allowed}.gis-carousel__title{color:#f1f5f9;font-size:.8rem;font-weight:600}.gis-carousel__images-container{flex-direction:column;gap:8px;display:flex}.gis-carousel__view-toggle{background:#0000004d;border:1px solid #ffffff0d;border-radius:6px;padding:2px;display:flex}.gis-carousel__toggle-btn{color:#94a3b8;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;border-radius:4px;flex:1;padding:4px;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.gis-carousel__toggle-btn--active{color:#fff;background:#3b82f6}.gis-carousel__img-frame{aspect-ratio:4/3;background:#000;border:1px solid #ffffff0d;border-radius:6px;width:100%;position:relative;overflow:hidden}.gis-carousel__img{object-fit:contain;width:100%;height:100%}.gis-compare-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#070a12e6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.gis-compare-dialog{color:#e2e8f0;background:#0a0f19;border:1px solid #567eac4d;border-radius:16px;flex-direction:column;width:90vw;max-width:1100px;max-height:90vh;font-family:inherit;display:flex;box-shadow:0 24px 64px #000c}.gis-compare-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.gis-compare-header h3{color:#f1f5f9;margin:0;font-size:1.1rem;font-weight:600}.gis-compare-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;display:flex}.gis-compare-close:hover{color:#f1f5f9}.gis-compare-content{flex-direction:column;flex:1;gap:20px;padding:20px 24px;display:flex;overflow-y:auto}.gis-compare-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=768px){.gis-compare-grid{grid-template-columns:1fr}}.gis-compare-panel{flex-direction:column;gap:8px;display:flex}.gis-compare-panel__label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;text-align:center;font-size:.8rem;font-weight:600}.gis-compare-frame{aspect-ratio:4/3;background:#000;border:1px solid #ffffff14;border-radius:8px;width:100%;overflow:hidden}.gis-compare-img{object-fit:contain;width:100%;height:100%}.gis-compare-meta{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;justify-content:space-around;padding:10px;display:flex}.gis-chat-widget{z-index:600;-webkit-backdrop-filter:blur(20px);opacity:.5;background:#0a0f19d9;border:1px solid #006ea766;border-radius:16px;flex-direction:column;transition:left .3s cubic-bezier(.4,0,.2,1),opacity .25s ease-in-out;display:flex;position:absolute;bottom:24px;left:24px;overflow:hidden;box-shadow:0 12px 40px #0009,0 0 0 1px #ffffff0d}.app-shell:not(.sidebar-collapsed) .gis-chat-widget{left:284px}.gis-chat-widget.open{width:360px;min-width:280px;max-width:calc(100vw - 48px);height:480px;min-height:200px;max-height:calc(100vh - 48px)}.gis-chat-resize-handle{z-index:10;position:absolute}.gis-chat-resize-handle--top{cursor:n-resize;border-radius:12px 12px 0 0;height:8px;top:0;left:0;right:0}.gis-chat-resize-handle--top:after{content:"";background:#ffffff26;border-radius:2px;width:36px;height:3px;transition:background .15s;position:absolute;top:3px;left:50%;transform:translate(-50%)}.gis-chat-resize-handle--top:hover:after{background:#006ea7b3}.gis-chat-resize-handle--right{cursor:e-resize;width:6px;top:8px;bottom:0;right:0}.gis-chat-resize-handle--right:after{content:"";background:#ffffff26;border-radius:2px;width:3px;height:36px;transition:background .15s;position:absolute;top:50%;right:1px;transform:translateY(-50%)}.gis-chat-resize-handle--right:hover:after{background:#006ea7b3}.gis-chat-resize-handle--corner{cursor:ne-resize;width:14px;height:14px;top:0;right:0}.gis-chat-widget:hover,.gis-chat-widget:focus-within{opacity:1}.gis-chat-widget.closed{resize:none!important;width:200px!important;height:52px!important;max-height:52px!important}.gis-chat-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#006ea733,#a4ca671a);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.gis-chat-header .header-info{align-items:center;gap:10px;display:flex}.gis-chat-header .header-avatar{font-size:20px}.gis-chat-header h3{color:#f1f5f9;margin:0;font-family:Raleway,sans-serif;font-size:.9rem;font-weight:700}.gis-chat-header .header-sub{color:#fff9;margin:0;font-family:Work Sans,sans-serif;font-size:.72rem}.gis-chat-header .header-controls{align-items:center;gap:8px;display:flex}.locale-switch{background:#0006;border:1px solid #ffffff1a;border-radius:6px;padding:2px;display:flex}.locale-switch button{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700;transition:all .15s}.locale-switch button.active{color:#fff;background:#006ea7}.gis-chat-header .toggle-btn{color:#fff9;cursor:pointer;background:0 0;border:none;font-size:.75rem}.gis-chat-messages{background:#00000026;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.gis-chat-messages::-webkit-scrollbar{width:4px}.gis-chat-messages::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.chat-bubble-container{width:100%;display:flex}.chat-bubble-container.agent{justify-content:flex-start}.chat-bubble-container.user{justify-content:flex-end}.chat-bubble{border-radius:12px;max-width:80%;padding:10px 14px;font-family:Work Sans,sans-serif;font-size:.82rem;line-height:1.4;position:relative;box-shadow:0 4px 12px #00000026}.chat-bubble-container.agent .chat-bubble{color:#e2e8f0;background:#ffffff14;border:1px solid #ffffff0d;border-bottom-left-radius:2px;max-width:92%}.chat-bubble-container.user .chat-bubble{color:#fff;background:#006ea7;border-bottom-right-radius:2px}.chat-bubble p{margin:0}.chat-markdown{color:#e2e8f0;flex-direction:column;gap:6px;font-size:.82rem;line-height:1.55;display:flex}.chat-markdown .chat-p{margin:0}.chat-markdown .chat-h3{color:#a8d8f0;letter-spacing:.02em;margin:4px 0 2px;font-size:.88rem;font-weight:700}.chat-markdown .chat-h4{color:#7ec8e3;margin:2px 0;font-size:.84rem;font-weight:600}.chat-markdown .chat-h5,.chat-markdown .chat-h6{color:#94a3b8;margin:2px 0;font-size:.82rem;font-weight:600}.chat-markdown .chat-ul,.chat-markdown .chat-ol{margin:2px 0;padding-left:18px}.chat-markdown .chat-ul li,.chat-markdown .chat-ol li{color:#cbd5e1;margin:2px 0}.chat-markdown .chat-hr{border:none;border-top:1px solid #ffffff1a;margin:6px 0}.chat-inline-code{color:#7dd3fc;background:#ffffff1a;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem}.chat-markdown .chat-code-block{color:#a5f3fc;white-space:pre;background:#00000059;border:1px solid #ffffff14;border-radius:6px;margin:2px 0;padding:8px 12px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.76rem;overflow-x:auto}.chat-table-wrap{border-radius:6px;margin:4px 0;overflow-x:auto}.chat-table{border-collapse:collapse;width:100%;font-size:.78rem}.chat-table th{color:#a8d8f0;text-align:left;white-space:nowrap;background:#006ea759;border-bottom:1px solid #006ea780;padding:5px 10px;font-weight:600}.chat-table td{color:#cbd5e1;border-bottom:1px solid #ffffff0d;padding:4px 10px}.chat-table tr:last-child td{border-bottom:none}.chat-table tr:nth-child(2n) td{background:#ffffff08}.chat-markdown strong{color:#f1f5f9;font-weight:600}.chat-markdown em{color:#94a3b8;font-style:italic}.chat-time{color:#fff6;text-align:right;margin-top:4px;font-size:.65rem;display:block}.dot-loader{align-items:center;gap:4px;padding:4px 8px;display:flex}.dot-loader span{background:#fff9;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dot-pulse}.dot-loader span:nth-child(2){animation-delay:.2s}.dot-loader span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:.4;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)}}.gis-chat-form{background:#0000004d;border-top:1px solid #ffffff14;gap:8px;padding:10px 14px;display:flex}.gis-chat-form input{color:#fff;background:#0006;border:1px solid #ffffff1f;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:Work Sans,sans-serif;font-size:.82rem;transition:all .2s}.gis-chat-form input:focus{border-color:#006ea7;box-shadow:0 0 0 2px #006ea740}.gis-chat-form button{color:#1a1a1a;cursor:pointer;background:#a4ca67;border:none;border-radius:8px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .2s}.gis-chat-form button:hover:not(:disabled){background:#b5db78}.gis-chat-form button:disabled{opacity:.5;cursor:not-allowed}.gis-chat-form button.gis-chat-attach{color:#cbd5e1;background:#ffffff0f;border:1px solid #ffffff1f;justify-content:center;align-items:center;padding:6px 8px;display:flex}.gis-chat-form button.gis-chat-attach:hover:not(:disabled){color:#fff;background:#ffffff1f}.gis-chat-dropzone{z-index:20;pointer-events:none;background:#0a0f19eb;border:2px dashed #a4ca67;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gis-chat-dropzone__inner{text-align:center;color:#a4ca67;padding:16px}.gis-chat-dropzone__title{color:#fff;margin:6px 0 2px;font-size:1rem;font-weight:700}.gis-chat-dropzone__sub{color:#94a3b8;margin:0;font-size:.8rem}.gis-chat-form button.gis-chat-mic.recording{color:#fca5a5;background:#dc26262e;border-color:#f8717199}.gis-chat-recording{color:#fca5a5;background:#0006;border:1px solid #f8717166;border-radius:8px;flex:1;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;display:flex}.gis-chat-recording__dot{background:#ef4444;border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite gis-rec-pulse}.gis-chat-recording__label{flex:1}.gis-chat-recording__time{font-variant-numeric:tabular-nums;color:#e2e8f0}@keyframes gis-rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.gis-viewport-toast{z-index:600;-webkit-backdrop-filter:blur(12px);background:#0a0f19e6;border:1.5px solid #006ea7;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:480px;padding:12px 18px;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}.gis-toast-content{align-items:center;gap:10px;display:flex}.toast-icon{font-size:20px}.toast-text{color:#f1f5f9;font-family:Work Sans,sans-serif;font-size:.85rem;line-height:1.4}.gis-toast-actions{gap:8px;display:flex}.gis-toast-btn{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .15s}.gis-toast-btn.btn-yes{color:#1a1a1a;background:#a4ca67}.gis-toast-btn.btn-yes:hover{background:#b5db78}.gis-toast-btn.btn-no{color:#e2e8f0;background:#ffffff1a;border:1px solid #ffffff1a}.gis-toast-btn.btn-no:hover{background:#ffffff26}.animate-slide-down{animation:.3s cubic-bezier(.16,1,.3,1) slideDown}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.manual-counts-upload{text-align:center;cursor:pointer;background:#006ea708;border:1.5px dashed #006ea766;border-radius:8px;padding:16px;transition:all .2s}.manual-counts-upload:hover{background:#006ea714;border-color:#006ea7}.manual-counts-upload input{display:none}.manual-counts-upload__icon{color:#006ea7;margin-bottom:6px;font-size:24px}.manual-counts-upload__text{color:#94a3b8;margin:0;font-family:Work Sans,sans-serif;font-size:.8rem}.reconciliation-table{border-collapse:collapse;width:100%;margin-top:10px}.reconciliation-table th,.reconciliation-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:6px 8px;font-family:Work Sans,sans-serif;font-size:.72rem}.reconciliation-table th{color:#64748b;text-transform:uppercase;font-weight:600}.reconciliation-table td{color:#e2e8f0}.reconciliation-table td.delta-pos{color:#22c55e}.reconciliation-table td.delta-neg{color:#e94560}.btn-submit-approve{color:#1a1a1a;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#a4ca67;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-family:Raleway,sans-serif;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.btn-submit-approve:hover:not(:disabled){background:#b5db78;box-shadow:0 0 12px #a4ca6766}.btn-submit-approve:disabled{opacity:.4;cursor:not-allowed}.brand-sidebar-logo{border-bottom:1px solid #ffffff1a;align-items:center;gap:8px;padding-bottom:12px;display:flex}.brand-sidebar-logo img{object-fit:contain;height:24px}.ingestion-stepper{flex-direction:column;gap:16px;padding-left:8px;display:flex;position:relative}.ingestion-stepper:before{content:"";z-index:1;background:#ffffff14;width:2px;position:absolute;top:10px;bottom:10px;left:17px}.stepper-step{z-index:2;gap:14px;display:flex;position:relative}.step-bullet{color:#94a3b8;background:#1e293b;border:2px solid #475569;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;transition:all .25s;display:flex}.step-content{flex-direction:column;gap:2px;display:flex}.step-title{color:#94a3b8;font-size:.8rem;font-weight:600;transition:color .25s}.step-desc{color:#64748b;font-size:.7rem}.stepper-step.completed .step-bullet{color:#052e16;background:#22c55e;border-color:#22c55e}.stepper-step.completed .step-title{color:#f1f5f9}.stepper-step.active .step-bullet{color:#fff;background:#006ea7;border-color:#38bdf8;box-shadow:0 0 10px #38bdf866}.stepper-step.active .step-title{color:#38bdf8;font-weight:700}.stepper-step.completed.active-green .step-bullet{color:#052e16;background:#22c55e;border-color:#4ade80;box-shadow:0 0 10px #22c55e66}.stepper-step.completed.active-green .step-title{color:#4ade80;font-weight:700}.stepper-step.pending .step-bullet{color:#475569;background:#0f172a;border-color:#334155}.stepper-step.pending .step-title{color:#475569}.gis-inactive-mission-note{color:#9a9a9a;background:#6464641f;border:1px solid #78787847;border-radius:6px;align-items:center;gap:6px;margin-top:6px;padding:5px 10px;font-size:.72rem;display:flex}.gis-badge--harvested-inactive{text-transform:uppercase;letter-spacing:.06em;color:#9a9a9a;background:#64646433;border:1px solid #78787859;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-flex}.gis-inactive-pill{color:gray;background:#50505033;border:1px solid #6464644d;border-radius:20px;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;font-size:9px;font-weight:600;display:inline-flex}.gis-timeline{z-index:100;pointer-events:auto;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.gis-timeline__inner{-webkit-backdrop-filter:blur(14px);background:#080c1ce0;border:1px solid #ffffff1a;border-radius:32px;align-items:center;gap:6px;padding:7px 14px;display:flex;box-shadow:0 8px 32px #0000008c,0 0 0 1px #ffffff0a}.gis-timeline__field{color:#9acc57;letter-spacing:.05em;white-space:nowrap;border-right:1px solid #ffffff1a;align-items:center;gap:5px;padding-right:10px;font-size:.72rem;font-weight:700;display:flex}.gis-timeline__field-icon{opacity:.75;font-size:14px!important}.gis-timeline__arrow{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0 2px;font-size:1.5rem;line-height:1;transition:color .15s}.gis-timeline__arrow:hover:not(:disabled){color:#f1f5f9}.gis-timeline__arrow:disabled{opacity:.2;cursor:default}.gis-timeline__dates{align-items:center;gap:4px;display:flex}.gis-timeline__pill{color:#64748b;cursor:pointer;font-size:.73rem;font-family:var(--font-family,"Inter", sans-serif);white-space:nowrap;background:0 0;border:1px solid #ffffff1a;border-radius:20px;padding:4px 13px;transition:background .15s,color .15s,border-color .15s}.gis-timeline__pill:hover:not(:disabled):not(.active){color:#cbd5e1;background:#ffffff12;border-color:#fff3}.gis-timeline__pill.active{color:#a8d870;background:#9acc5726;border-color:#9acc5773;font-weight:600}.gis-timeline__pill:disabled{cursor:default}.gis-timeline__spinner{animation:.8s linear infinite gis-spin;display:inline-block}.gis-offline-banner{z-index:600;-webkit-backdrop-filter:blur(12px);color:#fff;pointer-events:none;background:#dc2626f2;border:1px solid #dc262666;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-family:Work Sans,sans-serif;font-size:.8rem;font-weight:600;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000059}.gis-offline-banner .icon{font-size:18px}.vs-panel{z-index:250;-webkit-backdrop-filter:blur(16px);pointer-events:none;background:#0a1020f2;border:1px solid #9acc5733;border-radius:14px;flex-direction:column;width:380px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:16px;bottom:16px;right:16px;overflow:hidden;transform:translate(calc(100% + 32px));box-shadow:-8px 0 40px #00000080,0 0 0 1px #ffffff0a}.vs-panel--open{pointer-events:all;transform:translate(0)}.vs-panel__header{border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px 8px;display:flex}.vs-panel__breadcrumb{color:#94a3b8;flex:1;align-items:center;gap:6px;font-size:.82rem;display:flex}.vs-panel__breadcrumb-link{color:#9acc57;cursor:pointer;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.vs-panel__breadcrumb-link:hover{color:#b8e07a}.vs-panel__breadcrumb-sep{color:#475569}.vs-panel__title{color:#e2e8f0;font-size:.88rem;font-weight:600}.vs-panel__close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:18px;line-height:1;display:flex}.vs-panel__close:hover{color:#94a3b8;background:#ffffff0f}.vs-panel__body{flex-direction:column;flex:1;display:flex;overflow:hidden auto}.vs-panel__left{border-bottom:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;max-height:45%;padding:10px 14px 8px;display:flex;position:relative;overflow:hidden}.vs-panel__right{flex-direction:column;flex:1;gap:10px;padding:10px 14px;display:flex;overflow-y:auto}.vs-panel__right::-webkit-scrollbar{width:4px}.vs-panel__right::-webkit-scrollbar-track{background:0 0}.vs-panel__right::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.vs-kpi-row{flex-shrink:0;gap:10px;display:flex}.vs-kpi-tile{background:#ffffff0a;border:1px solid #ffffff12;border-radius:8px;flex:1;padding:8px 10px}.vs-kpi-tile__label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.68rem}.vs-kpi-tile__value{color:#e2e8f0;font-size:1.05rem;font-weight:700}.vs-section-label{color:#475569;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;margin-bottom:4px;font-size:.7rem;font-weight:600}.vs-session-list{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.vs-session-list::-webkit-scrollbar{width:4px}.vs-session-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.vs-session-row{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.vs-session-row:hover{background:#9acc570f;border-color:#9acc5726}.vs-session-row__date{color:#e2e8f0;min-width:80px;font-size:.82rem;font-weight:600}.vs-session-row__meta{color:#64748b;flex:1;font-size:.75rem}.vs-session-row__weight{color:#9acc57;font-size:.82rem;font-weight:600}.vs-session-row__dead{color:#f87171;font-size:.72rem}.vs-photo-strip{flex-shrink:0;gap:6px;padding:4px 2px;display:flex;overflow-x:auto}.vs-photo-strip::-webkit-scrollbar{height:4px}.vs-photo-strip::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.vs-photo-thumb{cursor:pointer;width:72px;height:72px;color:inherit;background:#ffffff0a;border:2px solid #0000;border-radius:6px;flex-shrink:0;padding:0;font-family:inherit;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.vs-photo-thumb:hover{border-color:#9acc5780;transform:translateY(-2px)}.vs-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.vs-photo-thumb__dead-overlay{background:#00000080;justify-content:center;align-items:center;font-size:22px;display:flex;position:absolute;inset:0}.vs-trend-chart{flex-shrink:0;width:100%}.vs-trend-chart svg{display:block}.vs-size-bar{flex-shrink:0}.vs-size-bar__track{border-radius:4px;gap:1px;height:20px;margin-bottom:6px;display:flex;overflow:hidden}.vs-size-bar__segment{color:#ffffffe6;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;transition:flex .4s;display:flex}.vs-size-bar__legend{gap:12px;display:flex}.vs-size-bar__legend-item{color:#64748b;align-items:center;gap:4px;font-size:.68rem;display:flex}.vs-size-bar__legend-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.vs-failure-details{border:1px solid #ef444440;border-radius:6px;flex-shrink:0;overflow:hidden}.vs-failure-details summary{color:#fca5a5;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ef444414;padding:6px 10px;font-size:.75rem}.vs-failure-details summary:hover{background:#ef44441f}.vs-failure-body{flex-direction:column;gap:4px;padding:8px 10px;display:flex}.vs-failure-row{color:#94a3b8;align-items:center;gap:8px;font-size:.72rem;display:flex}.vs-failure-row__type{color:#fca5a5;flex:1;font-family:monospace}.vs-failure-row__count{color:#f87171;font-weight:700}.vs-empty{color:#475569;text-align:center;flex:1;justify-content:center;align-items:center;padding:16px;font-size:.82rem;display:flex}.vs-loading-dots{gap:4px;display:inline-flex}.vs-loading-dots span{background:#475569;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite vs-dot-pulse}.vs-loading-dots span:nth-child(2){animation-delay:.2s}.vs-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes vs-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.vs-lightbox{z-index:9999;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;animation:.2s vs-lb-fade-in;display:flex;position:fixed;inset:0}@keyframes vs-lb-fade-in{0%{opacity:0}to{opacity:1}}.vs-lightbox__toolbar{background:linear-gradient(#0009 0%,#0000 100%);align-items:center;gap:12px;padding:12px 16px;display:flex;position:absolute;top:0;left:0;right:0}.vs-lightbox__toggle{border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;display:flex;overflow:hidden}.vs-lightbox__toggle-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:5px 12px;font-size:.75rem;transition:background .15s,color .15s}.vs-lightbox__toggle-btn--active{color:#9acc57;background:#9acc5733}.vs-lightbox__counter{text-align:center;color:#64748b;flex:1;font-size:.78rem}.vs-lightbox__close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:24px}.vs-lightbox__close:hover{color:#94a3b8}.vs-lightbox__img-area{align-items:center;gap:16px;max-width:90vw;max-height:70vh;display:flex}.vs-lightbox__img{object-fit:contain;border-radius:6px;max-width:80vw;max-height:65vh;display:block}.vs-lightbox__nav{cursor:pointer;color:#94a3b8;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:background .15s,color .15s;display:flex}.vs-lightbox__nav:hover:not(:disabled){color:#e2e8f0;background:#ffffff24}.vs-lightbox__nav:disabled{opacity:.3;cursor:default}.vs-lightbox__readout{background:linear-gradient(#0000 0%,#000000a6 100%);justify-content:center;align-items:center;gap:24px;padding:12px 20px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.vs-lightbox__readout-item{text-align:center}.vs-lightbox__readout-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.vs-lightbox__readout-value{color:#e2e8f0;font-size:.9rem;font-weight:700}.vs-lightbox__dead-badge{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d;border-radius:4px;padding:3px 8px;font-size:.75rem}.saved-analysis-container{position:relative}.saved-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px 6px;transition:background .15s,color .15s;display:flex}.saved-btn:hover,.saved-btn.active{color:#9acc57;background:#ffffff14}.saved-analysis-dropdown{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:700;background:#0f172af7;border:1px solid #ffffff1a;border-radius:10px;min-width:220px;max-width:300px;position:absolute;bottom:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000080}.saved-analysis-dropdown__header{color:#64748b;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #ffffff0f;padding:8px 12px;font-size:.7rem;font-weight:700}.saved-analysis-dropdown__empty{color:#475569;text-align:center;padding:14px 12px;font-size:.78rem}.saved-analysis-dropdown__item{border-bottom:1px solid #ffffff0a;align-items:center;display:flex}.saved-analysis-dropdown__item:last-child{border-bottom:none}.saved-analysis-dropdown__reopen{cursor:pointer;color:#94a3b8;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:9px 12px;font-size:.78rem;transition:background .12s,color .12s;display:flex}.saved-analysis-dropdown__reopen:hover{color:#9acc57;background:#9acc5712}.saved-analysis-dropdown__name{text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.saved-analysis-dropdown__delete{cursor:pointer;color:#475569;background:0 0;border:none;align-items:center;padding:8px 10px;transition:color .12s;display:flex}.saved-analysis-dropdown__delete:hover{color:#ef4444}.onboarding-checklist{z-index:250;-webkit-backdrop-filter:blur(20px);color:#e2e8f0;background:#0a0f19db;border:1px solid #006ea766;border-radius:16px;width:300px;padding:16px 18px;font-size:.9rem;position:absolute;top:16px;right:16px;box-shadow:0 12px 40px #00000080}.onboarding-checklist__head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.onboarding-checklist__title{letter-spacing:.02em;color:#f1f5f9;font-weight:700}.onboarding-checklist__pct{font-variant-numeric:tabular-nums;color:#9acc57;font-weight:700}.onboarding-checklist__bar{background:#ffffff1a;border-radius:3px;height:6px;margin-bottom:14px;overflow:hidden}.onboarding-checklist__bar-fill{background:linear-gradient(90deg,#006ea7,#9acc57);border-radius:3px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.onboarding-checklist__steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.onboarding-checklist__step{color:#94a3b8;align-items:center;gap:8px;transition:color .2s;display:flex}.onboarding-checklist__step.is-done{color:#e2e8f0}.onboarding-checklist__step-state{color:#94a3b880;font-size:18px}.onboarding-checklist__step.is-done .onboarding-checklist__step-state{color:#9acc57}.onboarding-checklist__step-icon{opacity:.8;font-size:18px}.onboarding-checklist__step-label{line-height:1.3}.place-fields-panel{z-index:250;-webkit-backdrop-filter:blur(20px);color:#e2e8f0;background:#0a0f19db;border:1px solid #9acc5759;border-radius:16px;width:300px;padding:14px 16px;font-size:.85rem;position:absolute;top:320px;right:16px;box-shadow:0 12px 40px #00000080}.place-fields-panel__head{color:#9acc57;align-items:center;gap:8px;margin-bottom:10px;font-weight:700;display:flex}.place-fields-panel__head .material-symbols-outlined{font-size:18px}.place-fields-panel__list{flex-direction:column;gap:6px;max-height:180px;display:flex;overflow-y:auto}.place-fields-panel__item{text-align:left;color:#e2e8f0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.85rem;transition:border-color .15s,background .15s;display:flex}.place-fields-panel__item:hover{background:#9acc5714;border-color:#9acc5780}.place-fields-panel__item .material-symbols-outlined{color:#9acc57;font-size:16px}.place-fields-panel__hint{color:#94a3b8;margin:10px 0 0;font-size:.72rem}.place-fields-panel__arming{color:#9acc57;align-items:center;gap:8px;font-weight:600;display:flex}.place-fields-panel__arming .material-symbols-outlined{font-size:20px;animation:1s ease-in-out infinite place-pin-bounce}@keyframes place-pin-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.place-fields-panel__arming .material-symbols-outlined{animation:none}}.place-fields-panel__cancel{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;margin-left:auto;padding:3px 8px;font-size:.72rem}.place-fields-panel__cancel:hover{color:#e2e8f0}.onboarding-checklist__claim-cta{color:#9acc57;cursor:pointer;background:#9acc571f;border:1px solid #9acc5773;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;padding:8px 10px;font-size:.8rem;font-weight:700;transition:background .15s;display:flex}.onboarding-checklist__claim-cta:hover{background:#9acc5733}.claim-account-panel{background:#ffffff0a;border:1px solid #9acc574d;border-radius:10px;margin-top:12px;padding:12px;font-size:.8rem}.claim-account-panel__head{color:#9acc57;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;display:flex}.claim-account-panel__close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:2px}.claim-account-panel__blurb{color:#cbd5e1;margin:0 0 10px;line-height:1.4}.claim-account-panel__google{color:#1f2937;cursor:pointer;background:#fff;border:none;border-radius:8px;width:100%;padding:8px 10px;font-weight:700}.claim-account-panel__divider{text-align:center;color:#64748b;margin:8px 0;font-size:.72rem}.claim-account-panel__form{gap:6px;display:flex}.claim-account-panel__form input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;flex:1;padding:7px 9px;font-size:.8rem}.claim-account-panel__form button{color:#0a0f19;cursor:pointer;background:#9acc57e6;border:none;border-radius:8px;padding:7px 10px;font-weight:700}.claim-account-panel__form button:disabled{opacity:.5;cursor:default}.claim-account-panel__sent{color:#cbd5e1;margin:0;line-height:1.5}.claim-account-panel__error{color:#fca5a5;margin:8px 0 0}.onboarding-checklist__head{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:none;padding:0}.onboarding-checklist__chev{color:#64748b;margin-left:6px;font-size:18px;transition:transform .25s}.onboarding-checklist__head:hover .onboarding-checklist__chev{color:#9acc57}.onboarding-checklist__body{opacity:1;max-height:480px;transition:max-height .55s cubic-bezier(.4,0,.2,1),opacity .4s .1s;overflow:hidden}.onboarding-checklist.is-compact .onboarding-checklist__body{opacity:0;max-height:0;transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .25s}.onboarding-checklist.is-compact{padding-bottom:12px}.onboarding-checklist__step.is-done .onboarding-checklist__step-state{animation:.45s cubic-bezier(.34,1.56,.64,1) checklist-tick-pop}@keyframes checklist-tick-pop{0%{opacity:.2;transform:scale(.4)}60%{transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.onboarding-checklist__step.just-done{border-radius:8px;animation:1.6s ease-out checklist-just-done}@keyframes checklist-just-done{0%{background:#9acc5747}to{background:0 0}}@media (prefers-reduced-motion:reduce){.onboarding-checklist__body,.onboarding-checklist.is-compact .onboarding-checklist__body{transition:none}.onboarding-checklist__step.is-done .onboarding-checklist__step-state,.onboarding-checklist__step.just-done{animation:none}}.chat-msg-actions{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.chat-msg-action{color:#e2e8f0;cursor:pointer;background:#ffffff12;border:1px solid #ffffff2e;border-radius:8px;padding:7px 12px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s}.chat-msg-action:hover{border-color:#9acc5780}.chat-msg-action--primary{color:#0a0f19;background:#9acc57e6;border-color:#0000}.chat-msg-action--primary:hover{background:#9acc57}.onboarding-checklist--canvas{width:100%;max-width:460px;margin:0 auto;position:static}.place-fields-panel__import{color:#7cc4ff;cursor:pointer;background:#006ea726;border:1px solid #006ea773;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;margin-bottom:10px;padding:8px 10px;font-size:.8rem;font-weight:700;transition:background .15s;display:flex}.place-fields-panel__import:hover{background:#006ea747}.place-fields-panel:not(.place-fields-panel--embedded),.onboarding-checklist:not(.onboarding-checklist--canvas){opacity:.6;transition:opacity .25s ease-in-out}.place-fields-panel:not(.place-fields-panel--embedded):hover,.place-fields-panel:not(.place-fields-panel--embedded):focus-within,.onboarding-checklist:not(.onboarding-checklist--canvas):hover,.onboarding-checklist:not(.onboarding-checklist--canvas):focus-within{opacity:1}@media (prefers-reduced-motion:reduce){.place-fields-panel,.onboarding-checklist{transition:none}}.place-fields-panel--embedded{width:auto;box-shadow:none;-webkit-backdrop-filter:none;background:#9acc570f;border:1px solid #9acc574d;margin:0 0 12px;padding:12px 14px;position:static}.onboarding-checklist--canvas{flex-direction:column;max-width:none;height:100%;display:flex}.onboarding-checklist--canvas .onboarding-checklist__body{flex-direction:column;flex:1;max-height:none;display:flex}.onboarding-checklist--canvas .onboarding-checklist__steps{flex:1;justify-content:space-evenly;gap:0}.onboarding-checklist--canvas .onboarding-checklist__step{font-size:.95rem}.onboarding-checklist--canvas .onboarding-checklist__step-state,.onboarding-checklist--canvas .onboarding-checklist__step-icon{font-size:22px}.invite-team__blurb{color:#cbd5e1;max-width:640px;margin:0 0 12px;font-size:.85rem;line-height:1.5}.invite-team__rows{flex-direction:column;gap:8px;max-width:720px;display:flex}.invite-team__row{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:1.2fr 1.2fr 1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.invite-team__name{color:#f1f5f9;font-size:.88rem;font-weight:600}.invite-team__row input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;min-width:0;padding:7px 9px;font-size:.82rem}.invite-team__channel{color:#94a3b8;white-space:nowrap;font-size:.72rem}.invite-team__channel--email{color:#9acc57}.invite-team__channel--whatsapp{color:#4dd0a1}.invite-team__send{color:#0a0f19;cursor:pointer;background:#9acc57e6;border:none;border-radius:10px;margin-top:14px;padding:10px 18px;font-weight:700}.invite-team__send:disabled{opacity:.55;cursor:default}.invite-team__loading{color:#94a3b8;padding:16px}.activation-meter{color:#e2e8f0;background:#006ea714;border:1px solid #006ea759;border-radius:10px;margin:0 0 12px;padding:12px 14px;font-size:.82rem}.activation-meter__head{justify-content:space-between;margin-bottom:8px;font-weight:700;display:flex}.activation-meter__row{color:#cbd5e1;justify-content:space-between;padding:3px 0;display:flex}.activation-meter__note{color:#64748b;margin:8px 0 0;font-size:.7rem}.onboarding-checklist__reset{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px dashed #ef444473;border-radius:8px;width:100%;margin-top:10px;padding:7px 10px;font-size:.75rem;font-weight:600}.onboarding-checklist__reset:hover{background:#ef444433}:root,:host{--ol-background-color:white;--ol-accent-background-color:#f5f5f5;--ol-subtle-background-color:#80808040;--ol-partial-background-color:#ffffffbf;--ol-foreground-color:#333;--ol-subtle-foreground-color:#666;--ol-brand-color:#0af}.ol-box{box-sizing:border-box;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color);border-radius:2px}.ol-mouse-position{position:absolute;top:8px;right:8px}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;padding:2px;position:absolute;bottom:8px;left:8px}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color);text-align:center;will-change:contents, width;border-top:none;margin:1px;font-size:10px;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{background-color:var(--ol-foreground-color);float:right;z-index:10;width:1px;height:15px}.ol-scale-step-text{z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);font-size:10px;position:absolute;bottom:-5px}.ol-scale-text{text-align:center;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);font-size:12px;position:absolute;bottom:25px}.ol-scale-singlebar{z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color);height:10px;position:relative}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{background-color:var(--ol-subtle-background-color);border-radius:4px;position:absolute}.ol-zoom{top:.5em;left:.5em}.ol-rotate{transition:opacity .25s linear,visibility linear;top:.5em;right:.5em}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{top:.5em;right:.5em}.ol-control button{color:var(--ol-subtle-foreground-color);font-weight:700;font-size:inherit;text-align:center;background-color:var(--ol-background-color);border:none;border-radius:2px;width:1.375em;height:1.375em;margin:1px;padding:0;line-height:.4em;text-decoration:none;display:block}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{will-change:transform;font-weight:400;display:block}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;flex-flow:row-reverse;align-items:center;max-width:calc(100% - 1.3em);display:flex;bottom:.5em;right:.5em}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);margin:0;padding:1px .5em;font-size:12px}.ol-attribution li{list-style:none;display:inline}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{max-height:1.6em;margin-top:-.2em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;top:4.5em;left:.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);width:150px;height:150px}.ol-overviewmap:not(.ol-collapsed) button{position:absolute;bottom:0;left:0}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.dt-overlay{z-index:9000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060812b8;justify-content:center;align-items:center;animation:.25s ease-out dtOverlayIn;display:flex;position:fixed;inset:0}@keyframes dtOverlayIn{0%{opacity:0}to{opacity:1}}.dt-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0e1123eb;border:1px solid #ffffff17;border-radius:20px;width:100%;max-width:520px;max-height:90vh;margin:16px;animation:.3s cubic-bezier(.22,1,.36,1) dtCardIn;position:relative;overflow-y:auto;box-shadow:0 32px 80px #0009,0 0 0 1px #ffffff0a}@keyframes dtCardIn{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.dt-header{border-bottom:1px solid #ffffff0f;padding:28px 28px 16px}.dt-header__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#3b82f6;margin-bottom:6px;font-size:10px;font-weight:700}.dt-header__title{color:#f0f2f8;font-size:18px;font-weight:700;line-height:1.3}.dt-header__field{color:#60a5fa}.dt-feed{flex-direction:column;gap:2px;padding:16px 28px;display:flex}.dt-phase-divider{letter-spacing:.1em;text-transform:uppercase;color:#2d3452;border-bottom:1px solid #ffffff0a;margin:10px 0 4px;padding-bottom:6px;font-size:9px;font-weight:700}.dt-item{opacity:0;align-items:baseline;gap:10px;padding:5px 0;font-size:13px;line-height:1.4;display:flex;transform:translateY(6px)}.dt-item.dt-item--visible{animation:.24s ease-out forwards dtItemIn}@keyframes dtItemIn{to{opacity:1;transform:translateY(0)}}.dt-item__icon{text-align:center;flex-shrink:0;width:20px;font-size:14px}.dt-item__label{color:#7a82a0;flex:1;min-width:0}.dt-item__value{color:#d0d5e8;text-align:right;flex-shrink:0;font-weight:500}.dt-item__value--pending{color:#3d4460;font-style:italic}.dt-item__unlock{color:#64748b;font-size:11px}.dt-item--phase2 .dt-item__value{color:#60a5fa}.dt-item--phase3 .dt-item__label{color:#6b7494}.dt-item--phase3 .dt-item__unlock{color:#7c8faa;font-size:11.5px}.dt-next-step{color:#93c5fd;opacity:0;background:#3b82f614;border:1px solid #3b82f62e;border-radius:10px;margin:14px 28px 0;padding:12px 16px;font-size:12px;transition:opacity .3s,transform .3s;transform:translateY(6px)}.dt-next-step.dt-next-step--visible{opacity:1;transform:translateY(0)}.dt-next-step__emoji{margin-right:6px}.dt-next-step strong{color:#bfdbfe}.dt-celebration{opacity:0;flex-direction:column;align-items:center;padding:28px 28px 32px;transition:opacity .4s ease-out,transform .4s ease-out;display:flex;transform:translateY(10px)}.dt-celebration.dt-celebration--visible{opacity:1;transform:translateY(0)}.dt-check-wrap{width:72px;height:72px;margin-bottom:20px;position:relative}.dt-check-bg{background:radial-gradient(circle,#22c55e26 0%,#0000 70%);border-radius:50%;position:absolute;inset:0}.dt-check-svg{width:72px;height:72px}.dt-check-circle{fill:none;stroke:#22c55e40;stroke-width:2px}.dt-check-mark{fill:none;stroke:#22c55e;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;transition:stroke-dashoffset .6s cubic-bezier(.65,0,.35,1)}.dt-check-mark.dt-check-mark--drawn{stroke-dashoffset:0}.dt-celebration__headline{color:#f0f2f8;text-align:center;margin-bottom:8px;font-size:17px;font-weight:700}.dt-celebration__sub{color:#5a6280;text-align:center;max-width:340px;font-size:13px;line-height:1.5}.dt-done-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;margin-top:24px;padding:10px 36px;font-size:14px;font-weight:600;transition:opacity .15s,transform .15s;box-shadow:0 4px 16px #22c55e4d}.dt-done-btn:hover{opacity:.9;transform:translateY(-1px)}.dt-done-btn:active{transform:translateY(0)}.dt-particles{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.dt-particle{opacity:0;border-radius:50%;width:7px;height:7px;position:absolute}.dt-particle.dt-particle--burst{animation:dtBurst var(--dur,.8s) ease-out forwards}@keyframes dtBurst{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(.3)}}.dt-spinner-overlay{z-index:8900;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040610b3;flex-direction:column;justify-content:center;align-items:center;gap:20px;animation:.18s ease-out dtSpinnerIn;display:flex;position:fixed;inset:0}@keyframes dtSpinnerIn{0%{opacity:0}to{opacity:1}}.dt-spinner{width:72px;height:72px;position:relative}.dt-spinner__ring{border-style:solid;border-color:#0000;border-radius:50%;position:absolute;inset:0}.dt-spinner__ring--outer{border-width:2.5px;border-top-color:#22c55e;border-right-color:#22c55e59;animation:1.1s linear infinite dtSpin}.dt-spinner__ring--mid{border-width:2px;border-top-color:#60a5fae6;border-left-color:#60a5fa4d;animation:.8s linear infinite reverse dtSpin;inset:10px}.dt-spinner__ring--inner{border-width:1.5px;border-bottom-color:#facc15cc;border-right-color:#facc1540;animation:.55s linear infinite dtSpin;inset:22px}.dt-spinner__dot{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dt-spinner__dot:after{content:"";background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite dtPulse;box-shadow:0 0 12px 4px #22c55e80}@keyframes dtSpin{to{transform:rotate(360deg)}}@keyframes dtPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.65)}}.dt-spinner-label{letter-spacing:.08em;color:#c8d2f099;text-transform:uppercase;font-size:12px;font-weight:500;animation:1.6s ease-in-out infinite dtSpinnerLabelPulse}@keyframes dtSpinnerLabelPulse{0%,to{opacity:.6}50%{opacity:1}}.recon-panel{background:var(--bg-panel,#141a24);z-index:300;border-left:1px solid #ffffff14;border-radius:10px;flex-direction:column;width:400px;height:auto;max-height:calc(100vh - 72px);animation:.22s cubic-bezier(.22,1,.36,1) recon-slide-in;display:flex;position:fixed;top:56px;right:8px;box-shadow:-8px 0 32px #00000073}@keyframes recon-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.recon-panel__header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.recon-panel__title{color:#e2e8f0;letter-spacing:.01em;font-size:13px;font-weight:600}.recon-panel__close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1;transition:color .15s,background .15s}.recon-panel__close:hover{color:#e2e8f0;background:#ffffff0f}.recon-panel__body{flex-direction:column;flex:1;gap:14px;padding:14px 16px;display:flex;overflow-y:auto}.recon-panel__field-ctx{flex-wrap:wrap;align-items:baseline;gap:4px 5px;padding:6px 0 2px;font-size:11px;display:flex}.recon-ctx__field{color:#e2e8f0;flex:1;font-size:12px;font-weight:700}.recon-ctx__sep{color:#ffffff2e}.recon-ctx__frac{color:#a78bfa;font-weight:600}.recon-ctx__stat{align-items:center;gap:4px;font-size:11px;display:inline-flex}.recon-ctx__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.recon-ctx__total{color:#94a3b8;gap:5px;font-weight:600}.recon-panel__empty{text-align:center;color:#475569;padding:32px 20px;font-size:13px}.recon-uploader{background:#8b5cf60a;border:1px solid #8b5cf62e;border-radius:8px;flex-direction:column;gap:0;display:flex;overflow:hidden}.recon-uploader__header{background:#8b5cf612;border-bottom:1px solid #8b5cf61f;align-items:center;gap:7px;padding:7px 10px;display:flex}.recon-uploader__ai-dot{background:#a78bfa;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.4s ease-in-out infinite recon-pulse;box-shadow:0 0 5px #a78bfa}.recon-uploader__ai-label{color:#c4b5fd;letter-spacing:.02em;flex:1;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:600}.recon-uploader__formats{gap:4px;display:flex}.recon-uploader__fmt{letter-spacing:.06em;border:1px solid;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.recon-uploader__fmt--csv{color:#60a5fa;background:#3b82f61f;border-color:#3b82f64d}.recon-uploader__fmt--xlsx{color:#4ade80;background:#22c55e1a;border-color:#22c55e47}.recon-uploader__fmt--txt{color:#94a3b8;background:#94a3b81a;border-color:#94a3b838}.recon-drop{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:64px;padding:16px 12px;transition:background .15s;display:flex}.recon-drop:hover{background:#8b5cf612}.recon-drop--drag{background:#8b5cf61f}.recon-drop--loading{cursor:wait}.recon-drop__label{color:#94a3b8;font-size:12px;font-weight:500}.recon-drop__sub{color:#475569;font-size:10.5px}.recon-caps{border-top:1px solid #8b5cf61a;flex-direction:column;display:flex}.recon-cap{border-bottom:1px solid #ffffff08;align-items:baseline;gap:6px;padding:4px 10px;font-size:11px;display:flex}.recon-cap:last-child{border-bottom:none}.recon-cap__check{color:#7c3aed;flex-shrink:0;font-size:10px;font-weight:700}.recon-cap__label{color:#94a3b8;white-space:nowrap;min-width:110px;font-weight:500}.recon-cap__sub{color:#7b91a8;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:italic;overflow:hidden}.recon-error{color:#f87171;background:#f8717114;border:1px solid #f8717133;border-radius:6px;padding:8px 12px;font-size:12px}.recon-loading{color:#475569;text-align:center;padding:8px;font-size:12px}.recon-wholefield{background:#3b82f60f;border:1px solid #3b82f62e;border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;font-size:12px;display:flex}.recon-wholefield__row{justify-content:space-between;align-items:center;display:flex}.recon-wholefield__label{color:#64748b}.recon-wholefield__val{color:#e2e8f0;font-weight:500}.recon-wholefield__note{color:#7dd3fc;gap:6px;margin-top:6px;font-size:11.5px;line-height:1.5;display:flex}.recon-wholefield__note-icon{flex-shrink:0}.recon-wholefield__divider{color:#475569;text-align:center;border-top:1px solid #3b82f633;margin-top:10px;padding-top:8px;font-size:11px}.recon-results{flex-direction:column;gap:10px;display:flex}.recon-table{border-collapse:collapse;width:100%;font-size:12px}.recon-table th{color:#475569;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid #ffffff0f;padding:4px 6px 6px;font-size:10.5px;font-weight:500}.recon-table td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:7px 6px}.recon-row--warn td:first-child{border-left:2px solid #f59e0b}.recon-row--alert td:first-child{border-left:2px solid #ef4444}.recon-row--unknown td:first-child{border-left:2px solid #475569}.recon-row__name{flex-direction:column;gap:1px;display:flex}.recon-row__code{color:#e2e8f0;font-weight:500}.recon-row__date{color:#475569;font-size:10px}.recon-row__num{color:#cbd5e1;text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:11.5px}.recon-row__unmatched{color:#475569;font-style:italic}.recon-row__actions{justify-content:flex-end;gap:4px;display:flex}.recon-btn{cursor:pointer;border:none;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:500;transition:background .15s,opacity .15s}.recon-btn:disabled{opacity:.4;cursor:not-allowed}.recon-btn--map{color:#60a5fa;background:#3b82f626}.recon-btn--map:hover{background:#3b82f647}.recon-btn--suggest{color:#c084fc;background:#a855f726}.recon-btn--suggest:hover{background:#a855f747}.recon-badge{font-variant-numeric:tabular-nums;border-radius:4px;align-items:center;gap:2px;padding:2px 6px;font-size:11.5px;font-weight:600;display:inline-flex}.recon-badge--ok{color:#4ade80;background:#22c55e1f}.recon-badge--warn{color:#fbbf24;background:#f59e0b1f}.recon-badge--alert{color:#f87171;background:#ef44441f}.recon-badge--unknown{color:#475569;background:#47556926}.recon-badge__pct{opacity:.8;font-weight:400}.recon-unmatched{color:#fbbf24;background:#f59e0b12;border:1px solid #f59e0b2e;border-radius:6px;padding:7px 10px;font-size:11px}.recon-suggest-result{background:#a855f712;border:1px solid #a855f733;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.recon-suggest-result__header{color:#c084fc;justify-content:space-between;align-items:center;font-weight:600;display:flex}.recon-suggest-result__close{color:#64748b;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px}.recon-suggest-result__message{color:#e2e8f0;margin:0}.recon-suggest-result__count{color:#94a3b8;margin:0}.recon-suggest-result__disclaimer{color:#64748b;border-top:1px solid #a855f726;margin:0;padding-top:6px;font-size:10.5px;font-style:italic}.recon-history{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.recon-history__title{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.recon-history__frac{align-items:baseline;gap:8px;font-size:11.5px;display:flex}.recon-history__frac-label{color:#64748b;flex-shrink:0;min-width:60px}.recon-history__trail{color:#94a3b8;line-height:1.6}.recon-history__entry strong{color:#e2e8f0}.recon-spinner{border:2px solid #ffffff1a;border-top-color:#3b82f6;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite recon-spin;display:inline-block}@keyframes recon-spin{to{transform:rotate(360deg)}}.recon-parse-method{border:1px solid #0000;border-radius:5px;align-items:baseline;gap:6px;padding:5px 9px;font-family:JetBrains Mono,monospace;font-size:10.5px;line-height:1.4;display:flex}.recon-parse-method--gemini{background:#8b5cf612;border-color:#8b5cf62e}.recon-parse-method--heuristic{background:#4755691a;border-color:#47556933}.recon-parse-method__icon{flex-shrink:0;font-size:11px}.recon-parse-method--gemini .recon-parse-method__icon{color:#a78bfa}.recon-parse-method--heuristic .recon-parse-method__icon{color:#475569}.recon-parse-method__label{white-space:nowrap;font-weight:600}.recon-parse-method--gemini .recon-parse-method__label{color:#c4b5fd}.recon-parse-method--heuristic .recon-parse-method__label{color:#64748b}.recon-parse-method__notes{color:#64748b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:Inter,sans-serif;font-size:10px;font-style:italic;overflow:hidden}.recon-panel__header{background:linear-gradient(90deg,#8b5cf614 0%,#0000 100%);border-bottom:1px solid #8b5cf626}.recon-panel__title{letter-spacing:.04em;text-transform:uppercase;color:#a78bfa;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.recon-log{background-color:#0a0c14b3;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff02 2px 4px),linear-gradient(#0a0c14b3,#0a0c14b3);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #a78bfa24;border-radius:7px;font-family:JetBrains Mono,monospace;font-size:10.5px;overflow:hidden}.recon-log__header{background:#a78bfa12;border-bottom:1px solid #a78bfa1f;align-items:center;gap:7px;padding:5px 10px;display:flex}.recon-log__title{letter-spacing:.05em;color:#a78bfa;text-transform:uppercase;flex:1;font-size:10px;font-weight:700}.recon-log__pulse{background:#a78bfa;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite recon-pulse;display:inline-block;box-shadow:0 0 6px #a78bfa}.recon-log__body{scroll-behavior:smooth;flex-direction:column;gap:2px;max-height:180px;padding:8px 10px;display:flex;overflow-y:auto}.recon-log__body::-webkit-scrollbar{width:3px}.recon-log__body::-webkit-scrollbar-track{background:0 0}.recon-log__body::-webkit-scrollbar-thumb{background:#a78bfa33;border-radius:2px}.recon-log__line{white-space:pre-wrap;word-break:break-word;line-height:1.55;animation:.15s both recon-line-in;display:block}@keyframes recon-line-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.recon-log__toggle{color:#a78bfa8c;cursor:pointer;text-align:left;background:0 0;border:none;padding:3px 0 0;font-family:JetBrains Mono,monospace;font-size:10px;transition:color .15s}.recon-log__toggle:hover{color:#a78bfa}.recon-sep{background:#ffffff12;height:1px;margin:4px 0}.recon-campo{flex-direction:column;gap:8px;display:flex}.recon-campo__title{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:2px;font-size:10px;font-weight:700}.recon-campo__desired--always{background:#63b3ed0d;border:1px solid #63b3ed26;border-radius:7px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.recon-campo__desired-title{letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc;font-size:10px;font-weight:700}.recon-campo__grid{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;display:grid}.recon-campo__key{letter-spacing:.05em;color:#64748b;white-space:nowrap;text-transform:uppercase;font-size:10px;font-weight:600}.recon-campo__val{color:#cbd5e1;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;transition:opacity .3s}.recon-campo__val--revealed{color:#7dd3fc;animation:.35s cubic-bezier(.22,1,.36,1) both recon-val-pop}@keyframes recon-val-pop{0%{opacity:0;color:#7dd3fc;transform:translate(-6px)}60%{color:#7dd3fc}to{opacity:1;color:#cbd5e1;transform:translate(0)}}.recon-campo__blank{color:#334155;font-family:JetBrains Mono,monospace;font-size:12px}.recon-pdf-spinner-wrap{background:#63b3ed08;border:1px dashed #63b3ed33;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px 16px;animation:.2s recon-fade-in;display:flex}.recon-pdf-spinner{border:3px solid #63b3ed26;border-top-color:#7dd3fc;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite recon-spin;display:block}.recon-pdf-spinner-label{color:#64748b;font-family:JetBrains Mono,monospace;font-size:12px;animation:1.5s ease-in-out infinite recon-pulse}.recon-pdf-done{background:#63b3ed0a;border:1px solid #63b3ed33;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;animation:.3s recon-fade-in;display:flex}.recon-pdf-preview{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.recon-pdf-preview__icon{flex-shrink:0}.recon-pdf-preview__info{flex-direction:column;gap:3px;min-width:0;display:flex}.recon-pdf-preview__name{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-family:JetBrains Mono,monospace;font-size:11.5px;overflow:hidden}.recon-pdf-preview__badge{color:#4ade80;letter-spacing:.04em;font-size:10px;font-weight:700}.recon-pdf-done__replace{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #63b3ed33;border-radius:5px;flex-shrink:0;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:10.5px;transition:color .15s,border-color .15s}.recon-pdf-done__replace:hover{color:#7dd3fc;border-color:#63b3ed66}@keyframes recon-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.recon-pdf-viewer{background:#0d1117;border:1px solid #63b3ed33;border-radius:8px;flex-direction:column;animation:.3s recon-fade-in;display:flex;overflow:hidden}.recon-pdf-viewer__bar{background:#63b3ed0f;border-bottom:1px solid #63b3ed26;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.recon-pdf-viewer__name{color:#64748b;white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:11px;overflow:hidden}.recon-pdf-viewer__badge{color:#4ade80;letter-spacing:.04em;flex-shrink:0;font-size:10px;font-weight:700}.recon-pdf-viewer__frame{background:#fff;border:none;width:100%;height:280px;display:block}.recon-pdf-done__replace{color:#475569;cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 2px;font-family:JetBrains Mono,monospace;font-size:10.5px;transition:color .15s}.recon-pdf-done__replace:hover{color:#7dd3fc}.recon-accepted-badge{background:linear-gradient(135deg,#22c55e21 0%,#10b98114 50%,#22c55e0d 100%);border:1px solid #22c55e59;border-radius:10px;flex-direction:column;gap:6px;margin-top:10px;padding:12px 14px;animation:.5s cubic-bezier(.22,1,.36,1) both recon-badge-pop;display:flex;position:relative;overflow:hidden;box-shadow:0 0 24px #22c55e14,inset 0 1px #ffffff0f}.recon-accepted-badge__shimmer{pointer-events:none;background:linear-gradient(105deg,#0000 30%,#4ade801f 50%,#0000 70%);animation:2.4s ease-in-out .5s both recon-shimmer;position:absolute;inset:0}.recon-accepted-badge__top{align-items:center;gap:8px;display:flex}.recon-accepted-badge__icon{color:#4ade80;background:#22c55e33;border:1px solid #22c55e73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:flex;box-shadow:0 0 10px #4ade804d}.recon-accepted-badge__label{color:#4ade80;letter-spacing:.01em;text-shadow:0 0 12px #4ade804d;flex:1;font-size:12.5px;font-weight:700}.recon-accepted-badge__chip{letter-spacing:.1em;color:#4ade80;background:#22c55e2e;border:1px solid #22c55e59;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:800}.recon-accepted-badge__checks{flex-direction:column;gap:4px;margin:0;padding:0 0 0 28px;list-style:none;display:flex}.recon-accepted-badge__checks li{align-items:center;gap:7px;display:flex}.recon-accepted-badge__cb{color:#4ade80;flex-shrink:0;font-size:13px;line-height:1}.recon-accepted-badge__check-text{color:#64748b;font-family:Inter,sans-serif;font-size:11px}.recon-accepted-badge__check-text--bright{color:#a3e6b8;font-weight:600}.staged-suggestion{pointer-events:none;position:absolute}.suggestion-ring{border:3px solid #e94560cc;border-radius:50%;width:40px;height:40px;animation:2s infinite pulse;transform:translate(-50%,-50%);box-shadow:0 0 10px #e9456080}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.suggestion-tooltip{color:#fff;white-space:nowrap;pointer-events:auto;background:#1e1e1ee6;border:1px solid #ffffff1a;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;display:flex;position:absolute;top:25px;left:50%;transform:translate(-50%)}.suggestion-actions{gap:4px;display:flex}.btn-accept,.btn-reject{cursor:pointer;border:none;border-radius:3px;padding:2px 8px;font-weight:700}.btn-accept{color:#fff;background:#22c55e}.btn-accept:hover{background:#16a34a}.btn-reject{color:#fff;background:#ef4444}.btn-reject:hover{background:#dc2626}.ops-root{padding:var(--spacing-lg);height:100%;font-family:var(--font-family-primary);color:var(--color-text-primary);overflow-y:auto}.ops-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.ops-header-left{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.ops-title{font-family:var(--font-family-heading);white-space:nowrap;margin:0;font-size:1.5rem;font-weight:700}.ops-breadcrumb{color:var(--color-text-muted);margin-left:var(--spacing-sm);font-size:.78rem}.ops-back-btn{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);background:var(--glass-bg);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ops-back-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-primary)}.ops-sync-indicator{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;display:flex}.ops-sync-dot{background:var(--color-accent-1);border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #84cc1666}.ops-kpi-row{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.ops-kpi-tile{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md) var(--spacing-lg);transition:transform var(--transition-fast), border-color var(--transition-fast)}.ops-kpi-tile:hover{border-color:#7ba2d54d;transform:translateY(-2px)}.ops-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:4px;font-size:.72rem;font-weight:600}.ops-kpi-value{font-family:var(--font-family-heading);color:var(--color-text-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.ops-kpi-value--accent{color:var(--color-accent-1)}.ops-kpi-value--warning{color:var(--color-accent-2)}.ops-table-wrap{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);overflow:hidden}.ops-table{border-collapse:collapse;width:100%;font-size:.88rem}.ops-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--glass-border);z-index:1;background:#00000026;font-size:.72rem;font-weight:600;position:sticky;top:0}.ops-table td{padding:var(--spacing-sm) var(--spacing-md);vertical-align:middle;border-bottom:1px solid #28334180}.ops-table tr{transition:background var(--transition-fast);cursor:pointer}.ops-table tbody tr:hover{background:#7ba2d50f}.ops-table tbody tr:nth-child(2n){background:#0000000a}.ops-table tbody tr:nth-child(2n):hover{background:#7ba2d50f}.ops-field-name{color:var(--color-text-primary);font-weight:600}.ops-count-cell{font-family:var(--font-family-heading);font-size:1rem;font-weight:700}.ops-count-cell--zero{color:var(--color-text-muted)}.ops-badge{letter-spacing:.02em;white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.ops-badge--open{color:var(--color-primary);background:#7ba2d526;border:1px solid #7ba2d540}.ops-badge--closed{color:var(--color-accent-1);background:#84cc161f;border:1px solid #84cc1633}.ops-badge--inaccessible{color:var(--color-accent-2);background:#f59e0b1f;border:1px solid #f59e0b33}.ops-type-badge{color:var(--color-text-secondary);background:#7ba2d514;border:1px solid #7ba2d51f;border-radius:6px;align-items:center;gap:3px;margin-bottom:2px;margin-right:4px;padding:1px 6px;font-size:.68rem;font-weight:500;display:inline-flex}.ops-overdue-dot{background:var(--color-accent-3);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 4px #ef444480}.ops-inaccessible-badge{color:var(--color-accent-2);background:#f59e0b1f;border:1px solid #f59e0b33;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.ops-filter-bar{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.ops-filter-select,.ops-filter-input{appearance:none;background:var(--color-bg-surface);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:.82rem;font-family:var(--font-family-primary);cursor:pointer;transition:border-color var(--transition-fast);min-width:120px;padding:6px 12px}.ops-filter-select:focus,.ops-filter-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow);outline:none}.ops-filter-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.ops-task-list{flex-direction:column;gap:2px;display:flex}.ops-task-row{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);border-left:3px solid #0000;grid-template-columns:100px 1fr 140px 90px 60px;display:grid}.ops-task-row:hover{background:var(--color-bg-elevated);border-color:#7ba2d533;transform:translate(2px)}.ops-task-row--scouting{border-left-color:#7ba2d5}.ops-task-row--phytosanitary{border-left-color:#84cc16}.ops-task-row--jima{border-left-color:#f59e0b}.ops-task-row--weeding{border-left-color:#10b981}.ops-task-row--herbicide{border-left-color:#ef4444}.ops-task-row--irrigation{border-left-color:#3b82f6}.ops-task-row--fertilization{border-left-color:#8b5cf6}.ops-task-row--replanting{border-left-color:#06b6d4}.ops-task-row--inspection{border-left-color:#ec4899}.ops-task-date{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem}.ops-task-type{align-items:center;gap:6px;font-size:.84rem;font-weight:500;display:flex}.ops-task-type svg{opacity:.7;flex-shrink:0}.ops-task-worker{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.ops-task-worker--unassigned{color:var(--color-text-muted);font-style:italic}.ops-progress-bar{background:#ffffff0f;border-radius:3px;height:6px;position:relative;overflow:hidden}.ops-progress-fill{background:linear-gradient(90deg, var(--color-accent-1), #6db33f);border-radius:3px;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.ops-progress-label{color:var(--color-text-muted);margin-top:2px;font-size:.7rem}.ops-drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:500;opacity:0;transition:opacity var(--transition-normal);pointer-events:none;background:#0006;position:fixed;inset:0}.ops-drawer-overlay--open{opacity:1;pointer-events:all}.ops-drawer{background:var(--color-bg-surface);border-left:1px solid var(--glass-border);z-index:510;width:480px;max-width:90vw;transition:transform var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-20px 0 60px #0006}.ops-drawer--open{transform:translate(0)}.ops-drawer-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border);background:#00000026;justify-content:space-between;align-items:center;display:flex}.ops-drawer-title{align-items:center;gap:var(--spacing-sm);font-family:var(--font-family-heading);font-size:1.1rem;font-weight:700;display:flex}.ops-drawer-close{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.ops-drawer-close:hover{background:var(--color-bg-elevated);color:var(--color-accent-3);border-color:#ef44444d}.ops-drawer-body{padding:var(--spacing-lg);flex:1;overflow-y:auto}.ops-drawer-section{margin-bottom:var(--spacing-lg)}.ops-drawer-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);font-size:.72rem;font-weight:600}.ops-meta-grid{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.ops-meta-item{flex-direction:column;gap:2px;display:flex}.ops-meta-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.ops-meta-value{color:var(--color-text-primary);font-size:.88rem;font-weight:500}.ops-event-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.ops-event-item{gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--border-radius-md);transition:background var(--transition-fast);background:#0000001a;border:1px solid #28334166;display:flex}.ops-event-item:hover{background:#00000026}.ops-event-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.ops-event-dot--completion{background:var(--color-accent-1)}.ops-event-dot--inaccessible{background:var(--color-accent-2)}.ops-event-dot--observation{background:var(--color-primary)}.ops-event-dot--replanting{background:#06b6d4}.ops-event-body{flex:1;min-width:0}.ops-event-type{text-transform:capitalize;color:var(--color-text-primary);font-size:.78rem;font-weight:600}.ops-event-time{color:var(--color-text-muted);font-size:.72rem}.ops-event-worker{color:var(--color-text-secondary);font-size:.72rem}.ops-inaccessible-alert{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--border-radius-md);background:#f59e0b14;border:1px solid #f59e0b33;display:flex}.ops-inaccessible-alert svg{color:var(--color-accent-2);flex-shrink:0}.ops-inaccessible-alert-text{color:var(--color-accent-2);font-size:.84rem;line-height:1.5}.ops-empty-state{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.ops-empty-state svg{opacity:.4;margin-bottom:var(--spacing-sm)}.ops-empty-state-title{font-family:var(--font-family-heading);color:var(--color-text-secondary);font-size:1.1rem;font-weight:600}.ops-empty-state-text{max-width:320px;font-size:.84rem}.ops-loading-skeleton{padding:var(--spacing-xl);color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--spacing-sm);font-size:.88rem;display:flex}.ops-loading-skeleton:before{content:"";border:2px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite ops-spin}@keyframes ops-spin{to{transform:rotate(360deg)}}.ops-error{padding:var(--spacing-md);border-radius:var(--border-radius-md);color:#fca5a5;text-align:center;background:#ef44441a;border:1px solid #ef444440;font-size:.84rem}.ops-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;display:flex}.ops-pagination-btn{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);background:var(--glass-bg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:6px 14px;font-size:.8rem;display:inline-flex}.ops-pagination-btn:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-primary)}.ops-pagination-btn:disabled{opacity:.35;cursor:not-allowed}.ops-pagination-info{color:var(--color-text-muted);font-size:.78rem}.ops-no-data{color:var(--color-text-muted);font-size:.82rem;font-style:italic}.ops-type-breakdown{flex-wrap:wrap;gap:3px;display:flex}.labor-page{gap:var(--spacing-lg);padding:var(--spacing-lg);min-height:0;font-family:var(--font-family-primary);color:var(--color-text-primary);flex-direction:column;flex:1;display:flex;overflow-y:auto}.labor-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.labor-header-left{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.labor-title{font-family:var(--font-family-heading);white-space:nowrap;margin:0;font-size:1.5rem;font-weight:700}.labor-header-right{align-items:center;gap:var(--spacing-md);display:flex}.labor-sync-indicator{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;display:flex}.labor-sync-dot{background:var(--color-accent-1);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 6px #84cc1666}.labor-refresh-btn{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text-secondary);font-size:.82rem;font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.labor-refresh-btn:hover{background:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-primary)}.labor-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.labor-refresh-btn .material-symbols-outlined{font-size:16px}.labor-refresh-btn--spinning .material-symbols-outlined{animation:.8s linear infinite labor-spin}.labor-kpi-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.labor-kpi-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md) var(--spacing-lg);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);position:relative;overflow:hidden}.labor-kpi-card:before{content:"";background:linear-gradient(90deg, transparent, var(--color-primary), transparent);opacity:0;height:2px;transition:opacity var(--transition-fast);position:absolute;top:0;left:0;right:0}.labor-kpi-card:hover{border-color:#7ba2d54d;transform:translateY(-2px);box-shadow:0 4px 20px #0003}.labor-kpi-card:hover:before{opacity:1}.labor-kpi-top{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.labor-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.labor-kpi-icon{border-radius:var(--border-radius-md);background:var(--color-primary-glow);width:36px;height:36px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.labor-kpi-icon .material-symbols-outlined{font-size:20px}.labor-kpi-icon--lime{color:var(--color-accent-1);background:#84cc161f}.labor-kpi-icon--amber{color:var(--color-accent-2);background:#f59e0b1f}.labor-kpi-value{font-family:var(--font-family-heading);color:var(--color-text-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.labor-section{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);flex-shrink:0;overflow:visible}.labor-section-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border);background:#0000001f;justify-content:space-between;align-items:center;display:flex}.labor-section-title{align-items:center;gap:var(--spacing-sm);font-family:var(--font-family-heading);color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:600;display:flex}.labor-section-title .material-symbols-outlined{color:var(--color-primary);font-size:20px}.labor-section-body{padding:var(--spacing-lg)}.labor-count-badge{color:var(--color-primary);margin-left:var(--spacing-sm);background:#7ba2d526;border:1px solid #7ba2d533;border-radius:10px;justify-content:center;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.labor-roster-table{border-collapse:collapse;width:100%;font-size:.86rem}.labor-roster-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--glass-border);z-index:1;background:#0000001a;font-size:.72rem;font-weight:600;position:sticky;top:0}.labor-roster-table td{padding:var(--spacing-sm) var(--spacing-md);vertical-align:middle;border-bottom:1px solid #28334166}.labor-roster-table tr{transition:background var(--transition-fast)}.labor-roster-table tbody tr:hover{background:#7ba2d50f}.labor-roster-table tbody tr:nth-child(2n){background:#0000000a}.labor-roster-table tbody tr:nth-child(2n):hover{background:#7ba2d50f}.labor-roster-table tbody tr.labor-row--long-shift{background:#f59e0b0a}.labor-roster-table tbody tr.labor-row--long-shift:hover{background:#f59e0b14}.labor-roster-controls{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.labor-roster-search{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast);background:#00000040;align-items:center;gap:6px;padding:5px 10px;display:flex}.labor-roster-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.labor-roster-search .material-symbols-outlined{color:var(--color-text-muted);flex-shrink:0;font-size:16px}.labor-roster-search input{color:var(--color-text-primary);font-size:.82rem;font-family:var(--font-family-primary);background:0 0;border:none;outline:none;width:180px}.labor-roster-search input::placeholder{color:var(--color-text-muted)}.labor-roster-toggle{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-size:.78rem;font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:#0003;align-items:center;gap:5px;padding:5px 12px;display:inline-flex}.labor-roster-toggle .material-symbols-outlined{font-size:16px}.labor-roster-toggle:hover{color:var(--color-text-primary);background:#7ba2d51a;border-color:#7ba2d54d}.labor-roster-toggle--active{color:var(--color-primary);background:#7ba2d526;border-color:#7ba2d566}.labor-roster-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.labor-roster-th--sortable:hover{color:var(--color-text-primary);background:#7ba2d514}.labor-sort-icon{vertical-align:middle;transition:opacity var(--transition-fast);margin-left:3px;font-size:14px!important}.labor-sort-icon--idle{opacity:.25}.labor-roster-th--sortable:hover .labor-sort-icon--idle{opacity:.6}.labor-roster-table--compact th{padding:4px var(--spacing-sm);font-size:.68rem}.labor-roster-table--compact td{padding:5px var(--spacing-sm);font-size:.82rem}.labor-roster-groups{gap:var(--spacing-md);flex-direction:column;display:flex}.labor-roster-group{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);overflow:hidden}.labor-roster-group-header{align-items:center;gap:var(--spacing-sm);padding:8px var(--spacing-md);border-bottom:1px solid var(--glass-border);color:var(--color-text-secondary);background:#0000002e;font-size:.84rem;font-weight:600;display:flex}.labor-roster-group-header .material-symbols-outlined{color:var(--color-primary);font-size:16px}.labor-roster-group-name{color:var(--color-text-primary);flex:1}.labor-initiated-by{color:var(--color-text-muted);margin-top:1px;font-size:.72rem;font-weight:400;display:block}.labor-count-badge--sm{margin-left:0;padding:1px 6px;font-size:.65rem}.labor-worker-name{color:var(--color-text-primary);font-weight:600}.labor-role-badge{letter-spacing:.02em;white-space:nowrap;color:var(--color-primary);background:#7ba2d51f;border:1px solid #7ba2d533;border-radius:10px;align-items:center;gap:3px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.labor-role-badge--leader{color:var(--color-accent-1);background:#84cc161f;border-color:#84cc1633}.labor-role-badge--admin{color:var(--color-accent-2);background:#f59e0b1f;border-color:#f59e0b33}.labor-gps-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.labor-gps-dot--active{background:#22c55e;box-shadow:0 0 6px #22c55e99}.labor-gps-dot--inactive{background:var(--color-text-muted);opacity:.4}.labor-mode-badge{white-space:nowrap;border-radius:6px;align-items:center;gap:3px;padding:1px 6px;font-size:.68rem;font-weight:500;display:inline-flex}.labor-mode-badge--self{color:var(--color-text-secondary);background:#7ba2d514;border:1px solid #7ba2d51f}.labor-mode-badge--leader{color:var(--color-accent-1);background:#84cc1614;border:1px solid #84cc1626}.labor-task-inline{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.8rem;overflow:hidden}.labor-task-inline--none{color:var(--color-text-muted);font-style:italic}.labor-elapsed{font-family:var(--font-family-heading);color:var(--color-text-primary);white-space:nowrap;font-size:.88rem;font-weight:600}.labor-elapsed--long{color:var(--color-accent-2)}.labor-date-range{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.labor-date-input{appearance:none;background:var(--color-bg-surface);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:.82rem;font-family:var(--font-family-primary);cursor:pointer;transition:border-color var(--transition-fast);padding:6px 12px}.labor-date-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow);outline:none}.labor-date-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.labor-chart-container{width:100%;height:300px;margin-bottom:var(--spacing-lg)}.labor-chart-container .recharts-cartesian-axis-tick-value{fill:var(--color-text-muted);font-size:.72rem}.labor-chart-container .recharts-tooltip-wrapper{outline:none}.labor-chart-tooltip{font-size:.82rem;background:var(--color-bg-elevated)!important;border:1px solid var(--glass-border)!important;border-radius:var(--border-radius-md)!important;padding:var(--spacing-sm) var(--spacing-md)!important;box-shadow:var(--shadow-ambient)!important}.labor-chart-tooltip-label{color:var(--color-text-primary);margin-bottom:4px;font-weight:600}.labor-chart-tooltip-row{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:.78rem;display:flex}.labor-chart-tooltip-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.labor-summary-table{border-collapse:collapse;width:100%;font-size:.84rem}.labor-summary-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--glass-border);background:#0000001a;font-size:.72rem;font-weight:600}.labor-summary-table th:not(:first-child){text-align:right}.labor-summary-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid #28334166}.labor-summary-table td:not(:first-child){text-align:right;font-family:var(--font-family-heading);font-weight:500}.labor-summary-table tbody tr:hover{background:#7ba2d50f}.labor-summary-table tbody tr:nth-child(2n){background:#0000000a}.labor-summary-totals-row{border-top:2px solid var(--glass-border)!important;background:#0000001f!important;font-weight:700!important}.labor-summary-totals-row td{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md);color:var(--color-text-primary);border-bottom:none;font-weight:700}.labor-auto-closed-icon{color:var(--color-accent-2);vertical-align:middle;align-items:center;margin-left:4px;display:inline-flex}.labor-auto-closed-icon .material-symbols-outlined{font-size:16px}.labor-heatmap-wrapper{overflow-x:auto}.labor-heatmap-months{color:var(--color-text-muted);gap:0;margin-bottom:4px;margin-left:38px;font-size:.68rem;font-weight:500;display:flex}.labor-heatmap-month-label{text-align:left;white-space:nowrap}.labor-heatmap-body{gap:var(--spacing-xs);display:flex}.labor-heatmap-day-labels{flex-direction:column;flex-shrink:0;gap:2px;width:30px;display:flex}.labor-heatmap-day-label{color:var(--color-text-muted);text-align:right;height:14px;padding-right:4px;font-size:.64rem;line-height:14px}.labor-heatmap-grid{gap:2px;display:flex}.labor-heatmap-column{flex-direction:column;gap:2px;display:flex}.labor-heatmap-cell{width:14px;height:14px;transition:all var(--transition-fast);cursor:default;border-radius:3px;position:relative}.labor-heatmap-cell:hover{outline:2px solid var(--color-primary);outline-offset:1px;z-index:1}.labor-heatmap-cell--empty{pointer-events:none;background:0 0}.labor-heatmap-legend{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);color:var(--color-text-muted);font-size:.72rem;display:flex}.labor-heatmap-legend-scale{gap:2px;display:flex}.labor-heatmap-legend-cell{border-radius:3px;width:14px;height:14px}.labor-heatmap-tooltip{pointer-events:none;z-index:9999;background:var(--color-bg-elevated);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow-ambient);white-space:nowrap;font-size:.78rem;position:fixed}.labor-heatmap-tooltip-date{color:var(--color-text-primary);margin-bottom:2px;font-weight:600}.labor-heatmap-tooltip-stat{color:var(--color-text-secondary)}.labor-loading-skeleton{padding:var(--spacing-xl);color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--spacing-sm);font-size:.88rem;display:flex}.labor-loading-skeleton:before{content:"";border:2px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite labor-spin}@keyframes labor-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.labor-section-loading{padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--spacing-sm);min-height:200px;font-size:.84rem;display:flex}.labor-section-loading:before{content:"";border:2px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite labor-spin}.labor-error{padding:var(--spacing-md);border-radius:var(--border-radius-md);color:#fca5a5;text-align:center;background:#ef44441a;border:1px solid #ef444440;font-size:.84rem}.labor-section-error{padding:var(--spacing-md);border-radius:var(--border-radius-md);color:#fca5a5;align-items:center;gap:var(--spacing-sm);background:#ef444414;border:1px solid #ef444433;font-size:.82rem;display:flex}.labor-section-error .material-symbols-outlined{color:var(--color-accent-3);flex-shrink:0;font-size:18px}.labor-touch-target{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.labor-empty-state{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;min-height:160px;display:flex}.labor-empty-state .material-symbols-outlined{opacity:.3;margin-bottom:var(--spacing-xs);font-size:40px}.labor-empty-state-title{font-family:var(--font-family-heading);color:var(--color-text-secondary);font-size:1rem;font-weight:600}.labor-empty-state-text{max-width:300px;font-size:.82rem}@media (width<=1100px){.labor-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.labor-page{padding:var(--spacing-md);gap:var(--spacing-md)}.labor-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.labor-kpi-grid{grid-template-columns:1fr}.labor-roster-table{font-size:.78rem}.labor-roster-table th,.labor-roster-table td{padding:var(--spacing-xs) var(--spacing-sm)}.labor-chart-container{height:220px}.labor-heatmap-cell{width:11px;height:11px}}@media (width<=480px){.labor-kpi-card{padding:var(--spacing-sm) var(--spacing-md)}.labor-kpi-value{font-size:1.35rem}.labor-section-body{padding:var(--spacing-md)}}.tasks-panel{gap:var(--spacing-md);flex-direction:column;display:flex}.tasks-panel__header{align-items:baseline;gap:var(--spacing-sm);display:flex}.tasks-panel__title{font-family:var(--font-family-heading);color:var(--color-text-primary);margin:0;font-size:1.15rem;font-weight:600}.tasks-panel__count{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.tasks-filter-row{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-elevated);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);flex-wrap:wrap;display:flex}.tasks-filter-select{background:var(--color-bg-surface);border:1px solid var(--glass-border);min-width:120px;color:var(--color-text-primary);border-radius:var(--border-radius-sm);font-size:.82rem;font-family:var(--font-family-primary);cursor:pointer;transition:border-color var(--transition-fast);flex:0 180px;padding:7px 10px}.tasks-filter-select:focus{border-color:var(--color-primary);outline:none}.tasks-filter-dates{align-items:center;gap:var(--spacing-xs);margin-left:auto;display:flex}.tasks-filter-date-label{color:var(--color-text-muted);font-size:.75rem;font-weight:500}.tasks-filter-date{background:var(--color-bg-surface);border:1px solid var(--glass-border);color:var(--color-text-primary);border-radius:var(--border-radius-sm);font-size:.8rem;font-family:var(--font-family-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transition:border-color var(--transition-fast);padding:6px 8px}.tasks-filter-date:focus{border-color:var(--color-primary);outline:none}.tasks-table-wrap{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);background:var(--color-bg-surface);overflow-x:auto}.tasks-table{border-collapse:collapse;width:100%;font-size:.84rem}.tasks-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-bottom:1px solid var(--glass-border);white-space:nowrap;background:var(--color-bg-elevated);padding:10px 14px;font-size:.72rem;font-weight:600;position:sticky;top:0}.tasks-table tbody td{color:var(--color-text-secondary);white-space:nowrap;border-bottom:1px solid #ffffff08;padding:10px 14px}.tasks-table__row{cursor:pointer;transition:background var(--transition-fast)}.tasks-table__row:hover{background:var(--color-bg-elevated)}.tasks-table__row:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.tasks-cell-title{text-overflow:ellipsis;max-width:260px;font-weight:500;overflow:hidden;color:var(--color-text-primary)!important}.tasks-col-right{text-align:right!important}.task-badge{text-transform:capitalize;white-space:nowrap;letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600;line-height:1.4;display:inline-block}.task-badge--assigned{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f640}.task-badge--in-progress{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b40}.task-badge--completed{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e40}.task-badge--piece-rate{color:#c084fc;background:#a855f71f;border:1px solid #a855f740}.task-badge--hourly{color:#2dd4bf;background:#14b8a61f;border:1px solid #14b8a640}.task-badge--role{color:var(--color-primary);background:#7ba2d51a;border:1px solid #7ba2d533}.task-badge--source{color:var(--color-text-secondary);background:#94a3b81a;border:1px solid #94a3b833}.tasks-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;display:flex}.tasks-pagination__info{color:var(--color-text-muted);text-align:center;min-width:110px;font-size:.82rem}.tasks-pagination__btn{padding:6px 14px;font-size:.82rem}.tasks-pagination__btn:disabled{opacity:.35;cursor:not-allowed}.tasks-panel__skeleton{padding:var(--spacing-md);background:var(--color-bg-surface);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);flex-direction:column;gap:6px;display:flex}.tasks-skeleton-row{border-radius:var(--border-radius-sm);background:linear-gradient(90deg, var(--color-bg-elevated) 0%, #7ba2d50f 50%, var(--color-bg-elevated) 100%);background-size:200% 100%;height:38px;animation:1.6s ease-in-out infinite tasks-shimmer}@keyframes tasks-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tasks-panel__empty{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.tasks-panel__empty .material-symbols-outlined{opacity:.5;font-size:40px}.drawer-backdrop{z-index:2000;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);background:#00000080;position:fixed;inset:0}.drawer-backdrop--open{opacity:1;pointer-events:auto}.drawer{z-index:2001;background:var(--color-bg-surface);border-left:1px solid var(--glass-border);width:440px;max-width:92vw;transition:transform var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-10px 0 40px #00000073}.drawer--open{transform:translate(0)}.drawer__close{top:var(--spacing-md);right:var(--spacing-md);z-index:10;background:var(--color-bg-elevated);border:1px solid var(--glass-border);color:var(--color-text-secondary);cursor:pointer;width:34px;height:34px;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.drawer__close:hover{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-primary)}.drawer__close .material-symbols-outlined{font-size:18px}.drawer__content{padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + 8px);scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;flex:1;overflow-y:auto}.drawer__title{font-family:var(--font-family-heading);color:var(--color-text-primary);margin:0 0 var(--spacing-sm);padding-right:40px;font-size:1.2rem;font-weight:600}.drawer__badges{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);display:flex}.drawer-section{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid #ffffff0a}.drawer-section:last-child{border-bottom:none}.drawer-section__heading{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0 0 var(--spacing-sm);font-size:.72rem;font-weight:600}.drawer-detail-row{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:5px 0;display:flex}.drawer-detail-label{color:var(--color-text-muted);flex-shrink:0;font-size:.82rem}.drawer-detail-value{color:var(--color-text-primary);text-align:right;word-break:break-word;font-size:.84rem}.drawer-inputs-table-wrap{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);margin-top:var(--spacing-sm);overflow-x:auto}.drawer-inputs-table{border-collapse:collapse;width:100%;font-size:.8rem}.drawer-inputs-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--glass-border);background:var(--color-bg-elevated);padding:8px 10px;font-size:.7rem;font-weight:600}.drawer-inputs-table tbody td{color:var(--color-text-secondary);border-bottom:1px solid #ffffff08;padding:7px 10px}.drawer-photos{gap:var(--spacing-sm);margin-top:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.drawer-photo-card{flex-direction:column;gap:4px;display:flex}.drawer-photo-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.drawer-photo-img{border-radius:var(--border-radius-sm);border:1px solid var(--glass-border);object-fit:cover;aspect-ratio:4/3;cursor:pointer;background:var(--color-bg-elevated);width:100%;transition:transform .2s,border-color .2s}.drawer-photo-img:hover{border-color:var(--color-primary);transform:scale(1.03)}.drawer-photos:has(>:only-child){grid-template-columns:1fr}.drawer-photos:has(>:only-child) .drawer-photo-img{max-width:280px}.drawer__skeleton{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex}.drawer-skel-title{border-radius:var(--border-radius-sm);background:linear-gradient(90deg, var(--color-bg-elevated) 0%, #7ba2d50f 50%, var(--color-bg-elevated) 100%);background-size:200% 100%;width:70%;height:24px;animation:1.6s ease-in-out infinite tasks-shimmer}.drawer-skel-line{border-radius:var(--border-radius-sm);background:linear-gradient(90deg, var(--color-bg-elevated) 0%, #7ba2d50f 50%, var(--color-bg-elevated) 100%);background-size:200% 100%;width:100%;height:16px;animation:1.6s ease-in-out infinite tasks-shimmer}.drawer-skel-line--short{width:55%}.drawer-skel-block{border-radius:var(--border-radius-sm);background:linear-gradient(90deg, var(--color-bg-elevated) 0%, #7ba2d50f 50%, var(--color-bg-elevated) 100%);background-size:200% 100%;height:80px;animation:1.6s ease-in-out infinite tasks-shimmer}html.light-theme .tasks-filter-date{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.light-theme .task-badge--assigned{color:#2563eb;background:#3b82f614;border-color:#3b82f633}html.light-theme .task-badge--in-progress{color:#d97706;background:#f59e0b14;border-color:#f59e0b33}html.light-theme .task-badge--completed{color:#16a34a;background:#22c55e14;border-color:#22c55e33}html.light-theme .task-badge--piece-rate{color:#9333ea;background:#a855f714;border-color:#a855f733}html.light-theme .task-badge--hourly{color:#0d9488;background:#14b8a614;border-color:#14b8a633}@media (width<=768px){.tasks-filter-row{flex-direction:column;align-items:stretch}.tasks-filter-select{flex:auto;min-width:0}.tasks-filter-dates{flex-wrap:wrap;margin-left:0}.drawer{width:100vw;max-width:100vw}.tasks-table{font-size:.78rem}.tasks-table thead th,.tasks-table tbody td{padding:8px 10px}}.piece-rate-metrics{background:#f59e0b0a;border:1px solid #f59e0b33;border-radius:10px;margin-top:16px;padding:12px 14px}.piece-rate-metrics__header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.piece-rate-metrics__icon{color:#f59e0b;font-size:18px!important}.piece-rate-metrics__title{color:#e2e8f0;flex:1;font-size:.85rem;font-weight:700}.piece-rate-metrics__badge{color:#f59e0b;background:#f59e0b1f;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.piece-rate-metrics__kpis{gap:10px;margin-bottom:10px;display:flex}.piece-rate-metrics__kpi{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;flex:1;padding:8px 10px}.piece-rate-metrics__kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.65rem;display:block}.piece-rate-metrics__kpi-value{color:#e2e8f0;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700}.piece-rate-metrics__bar-track{background:#ffffff12;border-radius:3px;height:6px;margin-bottom:10px;position:relative;overflow:visible}.piece-rate-metrics__bar-fill{border-radius:3px;height:100%;transition:width .4s ease-out}.piece-rate-metrics__bar-target{background:#ffffff40;border-radius:1px;width:2px;height:12px;position:absolute;top:-3px;right:0}.piece-rate-metrics__inputs{flex-direction:column;gap:4px;display:flex}.piece-rate-metrics__input-row{color:#64748b;border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;padding:3px 0;font-size:.75rem;display:flex}.piece-rate-metrics__input-name{color:#94a3b8}.piece-rate-metrics__input-qty{color:#f59e0b;font-family:monospace}:root{--crew-color-1:#84cc16;--crew-color-2:#f59e0b;--crew-color-3:#06b6d4;--crew-color-4:#8b5cf6;--crew-color-5:#f43f5e;--crew-color-6:#34d399;--crew-color-7:#fb923c;--crew-color-8:#a78bfa;--proof-thumb-size:24px;--schedule-grid-cell-height:56px;--schedule-grid-header-height:48px;--exception-overtime:#f59e0b26;--exception-absent:#f43f5e26;--exception-auto-closed:#94a3b826;--exception-missing-proof:#f43f5e26;--exception-illegal-ot:#ef444433;--exception-fgr:#84cc1626;--gate-blur-amount:blur(6px);--gate-overlay-bg:#0a0e16b3;--agent-accent:#a78bfa;--agent-glow:#a78bfa33}.labor-workspace-tabs{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);scrollbar-width:none;z-index:30;flex-shrink:0;gap:2px;padding:4px;display:flex;position:relative;overflow-x:auto}.labor-workspace-tabs::-webkit-scrollbar{display:none}.labor-tab{border-radius:var(--border-radius-md);color:var(--color-text-muted);font-size:.82rem;font-weight:500;font-family:var(--font-family-primary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;min-height:44px;padding:8px 14px;display:inline-flex;position:relative}.labor-tab:hover:not(.labor-tab--gated){color:var(--color-text-primary);background:#7ba2d514}.labor-tab--active{color:var(--color-primary);background:#7ba2d526;font-weight:600}.labor-tab--gated{opacity:.55;cursor:default}.labor-tab__icon{flex-shrink:0;font-size:18px}.labor-tab__lock{color:var(--color-text-muted);flex-shrink:0;font-size:13px}.labor-tab-badge{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;display:inline-flex}.labor-tab-badge--exception{color:#fff;background:#ef4444}.labor-tab-badge--schedule{color:var(--color-primary);text-transform:uppercase;background:#7ba2d533;font-size:.6rem}.labor-tab-badge--draft{color:var(--color-accent-2);background:#f59e0b33}.labor-tab-badge--published{color:#22c55e;background:#22c55e33}.labor-virtual-roster{border-radius:var(--border-radius-md);border:1px solid var(--glass-border);contain:strict;background:#0000000f;height:600px;position:relative;overflow:hidden auto}.labor-virtual-roster__inner{width:100%;position:relative}.labor-virtual-roster__row{padding:0 var(--spacing-md);transition:background var(--transition-fast);cursor:pointer;border-bottom:1px solid #28334159;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.labor-virtual-roster__row:hover{background:#7ba2d512}.labor-virtual-roster__row--overtime{background:var(--exception-overtime)}.labor-virtual-roster__row--absent{background:var(--exception-absent)}.labor-virtual-roster__row--missing-proof{background:var(--exception-missing-proof)}.labor-virtual-roster__row--auto-closed{background:var(--exception-auto-closed)}.labor-virtual-roster__row--illegal-ot{background:var(--exception-illegal-ot);border-left:3px solid #ef4444}.labor-crew-group-header{align-items:center;gap:var(--spacing-sm);height:48px;padding:0 var(--spacing-md);border-bottom:1px solid var(--glass-border);z-index:2;cursor:pointer;-webkit-user-select:none;user-select:none;background:#0000002e;display:flex;position:sticky;top:0}.labor-crew-color-bar{border-radius:2px;flex-shrink:0;width:3px;height:24px}.labor-crew-color-bar--1{background:var(--crew-color-1)}.labor-crew-color-bar--2{background:var(--crew-color-2)}.labor-crew-color-bar--3{background:var(--crew-color-3)}.labor-crew-color-bar--4{background:var(--crew-color-4)}.labor-crew-group-header__name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.88rem;font-weight:600;overflow:hidden}.labor-crew-group-header__meta{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem}.labor-crew-group-header__exception-badge{color:#f43f5e;background:#f43f5e26;border:1px solid #f43f5e33;border-radius:10px;align-items:center;gap:3px;padding:2px 7px;font-size:.68rem;font-weight:700;display:inline-flex}.labor-crew-group-header__expand-icon{color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0;font-size:18px}.labor-crew-group-header--expanded .labor-crew-group-header__expand-icon{transform:rotate(180deg)}.proof-thumbnail{flex-shrink:0;display:inline-block;position:relative}.proof-thumbnail__img{width:var(--proof-thumb-size);height:var(--proof-thumb-size);object-fit:cover;border:1px solid var(--glass-border);border-radius:4px;display:block}.proof-thumbnail__placeholder{width:var(--proof-thumb-size);height:var(--proof-thumb-size);border:1px dashed var(--glass-border);background:#28334199;border-radius:4px;justify-content:center;align-items:center;display:flex}.proof-thumbnail__placeholder .material-symbols-outlined{color:var(--color-text-muted);font-size:12px}.proof-thumbnail__popover{z-index:100;border-radius:var(--border-radius-md);border:1px solid var(--glass-border);pointer-events:none;opacity:0;width:120px;height:90px;transition:opacity var(--transition-fast);position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 24px #0006}.proof-thumbnail:hover .proof-thumbnail__popover,.proof-thumbnail:focus-within .proof-thumbnail__popover{opacity:1}.proof-thumbnail__popover img{object-fit:cover;width:100%;height:100%}.proof-feed-card{border-radius:var(--border-radius-md);cursor:pointer;border:1px solid var(--glass-border);width:160px;height:120px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:#28334199;flex-shrink:0;position:relative;overflow:hidden}.proof-feed-card:hover{transform:scale(1.03);box-shadow:0 6px 20px #0006}.proof-feed-card__img{object-fit:cover;width:100%;height:100%;display:block}.proof-feed-card__placeholder{width:100%;height:100%;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.72rem;display:flex}.proof-feed-card__placeholder .material-symbols-outlined{opacity:.5;font-size:28px}.proof-feed-card__overlay{background:linear-gradient(#0000 0%,#000000bf 100%);padding:20px 8px 8px;position:absolute;bottom:0;left:0;right:0}.proof-feed-card__worker{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:600;overflow:hidden}.proof-feed-card__meta{color:#ffffffb3;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.62rem;overflow:hidden}.proof-feed-card__gps-badge{color:#fffc;background:#00000080;border-radius:3px;padding:2px 4px;font-family:monospace;font-size:.55rem;position:absolute;bottom:8px;right:8px}.proof-feed-card__status-badge{font-size:12px;line-height:1;position:absolute;top:6px;right:6px}.proof-feed-grid{gap:var(--spacing-md);flex-direction:column;display:flex}.proof-feed-grid__header{justify-content:space-between;align-items:center;display:flex}.proof-feed-grid__title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;font-weight:600}.proof-feed-grid__view-all{color:var(--color-primary);cursor:pointer;font-size:.8rem;font-family:var(--font-family-primary);transition:opacity var(--transition-fast);background:0 0;border:none;padding:0}.proof-feed-grid__view-all:hover{opacity:.7}.proof-feed-grid__cards{gap:var(--spacing-sm);grid-template-columns:repeat(4,1fr);display:grid}.proof-gallery-page{gap:var(--spacing-md);flex-direction:column;display:flex}.gallery-filter-bar{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);z-index:10;flex-wrap:wrap;align-items:center;display:flex;position:sticky;top:0}.gallery-filter-bar__input,.gallery-filter-bar__select{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-family:var(--font-family-primary);min-height:36px;transition:border-color var(--transition-fast);background:#0003;padding:6px 10px;font-size:.8rem}.gallery-filter-bar__input:focus,.gallery-filter-bar__select:focus{border-color:var(--color-primary);outline:none}.gallery-filter-bar__clear{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:.78rem;font-family:var(--font-family-primary);transition:all var(--transition-fast);background:0 0;min-height:36px;padding:6px 10px}.gallery-filter-bar__clear:hover{border-color:var(--color-primary);color:var(--color-text-primary)}.gallery-filter-bar__group{flex-direction:column;gap:3px;min-width:100px;display:flex}.gallery-filter-bar__group--toggle{flex-direction:row;align-items:center;gap:6px}.gallery-filter-bar__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:500}.gallery-filter-bar__checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.gallery-filter-bar__clear-btn{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:.75rem;font-family:var(--font-family-primary);transition:all var(--transition-fast);background:0 0;align-self:flex-end;align-items:center;gap:4px;min-height:36px;padding:6px 10px;display:inline-flex}.gallery-filter-bar__clear-btn:hover{border-color:var(--color-error);color:var(--color-error)}.gallery-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.sync-indicator{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:.78rem;display:inline-flex}.sync-indicator__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.sync-indicator--live .sync-indicator__dot{background:#22c55e;animation:2s ease-in-out infinite sync-pulse;box-shadow:0 0 6px #22c55e80}.sync-indicator--stale .sync-indicator__dot{background:var(--color-accent-2)}.sync-indicator--very-stale .sync-indicator__dot{background:#ef4444}.sync-indicator--offline .sync-indicator__dot{background:var(--color-text-muted);opacity:.5}.sync-indicator--offline{color:var(--color-accent-2)}.sync-indicator__icon{font-size:14px}.sync-indicator__refresh-cta{color:var(--color-primary);cursor:pointer;font-size:.78rem;font-family:var(--font-family-primary);transition:opacity var(--transition-fast);background:0 0;border:none;min-height:44px;padding:0}.sync-indicator__refresh-cta:hover{opacity:.7}.exception-triage-panel{gap:var(--spacing-sm);flex-direction:column;display:flex}.exception-triage-panel__header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.exception-triage-panel__title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.exception-triage-panel__count{color:var(--color-text-muted);font-size:.72rem}.exception-triage-panel__view-all{color:var(--color-primary);cursor:pointer;font-size:.78rem;font-family:var(--font-family-primary);background:0 0;border:none;min-height:44px;padding:0}.exception-triage-panel__empty{padding:var(--spacing-md);text-align:center;color:#22c55e;justify-content:center;align-items:center;gap:6px;font-size:.86rem;display:flex}.exception-card{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);transition:border-color var(--transition-fast);display:flex}.exception-card--overtime{border-left:3px solid var(--color-accent-2);background:var(--exception-overtime)}.exception-card--absent{background:var(--exception-absent);border-left:3px solid #f43f5e}.exception-card--auto-closed{border-left:3px solid var(--color-text-muted);background:var(--exception-auto-closed)}.exception-card--missing-proof{background:var(--exception-missing-proof);border-left:3px solid #f43f5e}.exception-card--illegal-ot{background:var(--exception-illegal-ot);border-left:3px solid #ef4444}.exception-card--fgr-alert{border-left:3px solid var(--color-accent-1);background:var(--exception-fgr)}.exception-card__icon{flex-shrink:0;margin-top:1px;font-size:18px}.exception-card--overtime .exception-card__icon{color:var(--color-accent-2)}.exception-card--absent .exception-card__icon{color:#f43f5e}.exception-card--illegal-ot .exception-card__icon{color:#ef4444}.exception-card--fgr-alert .exception-card__icon{color:var(--color-accent-1)}.exception-card__body{flex:1;min-width:0}.exception-card__worker{color:var(--color-text-primary);font-size:.86rem;font-weight:600}.exception-card__meta{color:var(--color-text-muted);margin-top:2px;font-size:.75rem}.exception-card__ack-btn{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--color-primary);font-size:.75rem;font-family:var(--font-family-primary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:#7ba2d514;flex-shrink:0;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:5px 12px;display:inline-flex}.exception-card__ack-btn:hover{border-color:var(--color-primary);background:#7ba2d52e}.exception-card__ack-btn:disabled{opacity:.4;cursor:not-allowed}.compliance-widget{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md) var(--spacing-lg);position:relative;overflow:hidden}.compliance-widget__header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.compliance-widget__title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.compliance-widget__title .material-symbols-outlined{color:var(--color-primary);font-size:16px}.compliance-widget__year{color:var(--color-text-muted);font-size:.72rem}.compliance-widget__row{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.compliance-widget__bar{appearance:none;background:#28334199;border-radius:3px;flex:1;min-width:100px;height:6px;overflow:hidden}.compliance-widget__bar::-webkit-progress-bar{background:#28334199;border-radius:3px}.compliance-widget__bar::-webkit-progress-value{background:#22c55e;border-radius:3px;transition:width .3s}.compliance-widget__bar--amber::-webkit-progress-value{background:var(--color-accent-2)}.compliance-widget__bar--red::-webkit-progress-value{background:#ef4444}.compliance-widget__pct{font-family:var(--font-family-heading);color:#22c55e;text-align:right;min-width:50px;font-size:1.1rem;font-weight:700}.compliance-widget__pct--amber{color:var(--color-accent-2)}.compliance-widget__pct--red{color:#ef4444}.lft-limit-badge{color:var(--color-primary);background:#7ba2d51f;border:1px solid #7ba2d533;border-radius:10px;align-items:center;gap:3px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.overtime-risk-badge{color:var(--color-accent-2);background:#f59e0b26;border:1px solid #f59e0b33;border-radius:10px;align-items:center;gap:3px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.illegal-ot-badge{color:#ef4444;background:#ef444426;border:1px solid #ef444433;border-radius:10px;align-items:center;gap:3px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.overtime-progress-bar{flex-direction:column;gap:3px;min-width:80px;display:flex}.overtime-progress-bar__progress{appearance:none;background:#28334199;border-radius:3px;width:100%;height:5px;overflow:hidden}.overtime-progress-bar__progress::-webkit-progress-bar{background:#28334199;border-radius:3px}.overtime-progress-bar__progress::-webkit-progress-value{background:#22c55e;border-radius:3px}.overtime-progress-bar__progress--amber::-webkit-progress-value{background:var(--color-accent-2)}.overtime-progress-bar__progress--red::-webkit-progress-value{background:#ef4444}.overtime-progress-bar__label{color:var(--color-text-muted);font-size:.65rem}.overtime-progress-bar__projected{color:var(--color-accent-2);font-size:.6rem}.overtime-progress-bar__triple-rate{color:#ef4444;font-size:.6rem;font-weight:700}.labor-offline-banner{border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);align-items:center;gap:var(--spacing-sm);color:var(--color-accent-2);background:#f59e0b26;border:1px solid #f59e0b4d;font-size:.82rem;display:flex}.labor-offline-banner .material-symbols-outlined{flex-shrink:0;font-size:18px}.upgrade-prompt{align-items:center;gap:var(--spacing-sm);text-align:center;flex-direction:column;display:flex;position:relative}.upgrade-prompt--inline{padding:var(--spacing-md);background:var(--glass-bg);border:1px dashed var(--glass-border);border-radius:var(--border-radius-lg)}.upgrade-prompt--overlay{background:var(--gate-overlay-bg);-webkit-backdrop-filter:blur(4px);border-radius:var(--border-radius-lg);z-index:20;justify-content:center;padding:32px;position:absolute;inset:0}.upgrade-prompt--banner{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);text-align:left;background:#7ba2d514;border:1px solid #7ba2d533;flex-direction:row;justify-content:space-between}.upgrade-prompt__dismiss{top:var(--spacing-sm);right:var(--spacing-sm);color:var(--color-text-muted);cursor:pointer;border-radius:var(--border-radius-sm);min-width:44px;min-height:44px;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute}.upgrade-prompt__dismiss:hover{color:var(--color-text-primary)}.upgrade-prompt__icon .material-symbols-outlined{color:var(--color-primary);font-size:32px}.upgrade-prompt__headline{font-family:var(--font-family-heading);color:var(--color-text-primary);margin:0;font-size:.95rem;font-weight:700}.upgrade-prompt__subtext{color:var(--color-text-muted);margin:0;font-size:.8rem;line-height:1.4}.upgrade-prompt__preview{border-radius:var(--border-radius-md);max-width:100%;overflow:hidden}.upgrade-prompt__cta{border-radius:var(--border-radius-md);background:var(--color-primary);color:#0a0e16;font-size:.82rem;font-weight:700;font-family:var(--font-family-primary);cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:9px 18px;display:inline-flex}.upgrade-prompt__cta:hover{opacity:.85;transform:translateY(-1px)}.upgrade-prompt__cta .material-symbols-outlined{font-size:16px}@keyframes sync-pulse{0%,to{opacity:1;box-shadow:0 0 6px #22c55e80}50%{opacity:.6;box-shadow:0 0 12px #22c55ecc}}@media (width<=768px){.labor-tab__label{display:none}.labor-tab{justify-content:center;min-width:44px;padding:8px 10px}.labor-workspace-tabs{justify-content:space-around}.gallery-grid,.proof-feed-grid__cards{grid-template-columns:repeat(2,1fr)}.labor-today-grid{grid-template-columns:1fr!important}}.labor-input{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-family:var(--font-family-primary);min-height:36px;transition:border-color var(--transition-fast);background:#0003;padding:7px 12px;font-size:.82rem}.labor-input:focus{border-color:var(--color-primary);outline:none}.labor-chip{font-size:.78rem;font-family:var(--font-family-primary);transition:all var(--transition-fast);cursor:pointer;border-radius:16px;align-items:center;gap:4px;display:inline-flex}.labor-crew-color-bar--5{background:var(--crew-color-5,#8b5cf6)}.labor-crew-color-bar--6{background:var(--crew-color-6,#ec4899)}.labor-crew-color-bar--7{background:var(--crew-color-7,#14b8a6)}.labor-crew-color-bar--8{background:var(--crew-color-8,#f97316)}.guide-backdrop{-webkit-backdrop-filter:blur(2px);z-index:900;opacity:0;pointer-events:none;background:#00000059;transition:opacity .2s ease-out;position:fixed;inset:0}.guide-backdrop--open{opacity:1;pointer-events:auto}.guide-panel{z-index:901;background:#0d1821;border-left:1px solid #ffffff14;flex-direction:column;width:420px;max-width:100vw;transition:transform .2s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-8px 0 40px #00000080}.guide-panel--open{transform:translate(0)}.guide-panel__header{justify-content:space-between;align-items:center;gap:var(--spacing-sm,8px);padding:var(--spacing-md,16px) var(--spacing-lg,24px);border-bottom:1px solid var(--glass-border,#ffffff14);flex-shrink:0;display:flex}.guide-panel__title{color:#f1f5f9;letter-spacing:.01em;align-items:center;gap:8px;font-size:1rem;font-weight:600;display:flex}.guide-panel__title-icon{color:#38bdf8;font-variation-settings:"FILL" 1;font-size:1.25rem}.guide-panel__close{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;font-size:1.25rem;transition:color .12s,background .12s;display:flex}.guide-panel__close:hover,.guide-panel__close:focus-visible{color:#f1f5f9;background:#ffffff14;outline:none}.guide-panel__search-wrap{padding:var(--spacing-md,16px) var(--spacing-lg,24px) var(--spacing-sm,8px);flex-shrink:0}.guide-panel__search{border:1px solid var(--glass-border,#ffffff1a);color:#f1f5f9;box-sizing:border-box;background:#ffffff0f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%2394a3b8'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5A6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5S14 7.01 14 9.5S11.99 14 9.5 14z'/%3E%3C/svg%3E") 10px no-repeat;border-radius:8px;outline:none;width:100%;padding:8px 12px 8px 36px;font-size:.875rem;transition:border-color .15s}.guide-panel__search:focus{border-color:var(--accent,#38bdf8);background-color:#ffffff17}.guide-panel__search::placeholder{color:#64748b}.guide-panel__path-badge{margin:0 var(--spacing-lg,24px) var(--spacing-sm,8px);color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf833;border-radius:20px;align-self:flex-start;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.guide-panel__body{padding:var(--spacing-sm,8px) 0 var(--spacing-xl,32px);scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex:1;overflow-y:auto}.guide-panel__body::-webkit-scrollbar{width:5px}.guide-panel__body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.guide-toc{margin:0;padding:0;list-style:none}.guide-toc__item{text-align:left;width:100%;padding:13px var(--spacing-lg,24px);cursor:pointer;color:#f1f5f9bf;background:0 0;border-top:none;border-bottom:1px solid #ffffff0d;border-left:3px solid #0000;border-right:none;justify-content:space-between;align-items:center;gap:10px;font-family:inherit;font-size:.875rem;font-weight:450;line-height:1.4;transition:background .12s,border-color .12s,color .12s;display:flex}.guide-toc__item:hover,.guide-toc__item:focus-visible{color:#f1f5f9;background:#38bdf812;border-left-color:#38bdf880;outline:none}.guide-toc__item-label{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.guide-toc__required-badge{letter-spacing:.06em;text-transform:uppercase;color:#fbbf24;white-space:nowrap;background:#fbbf242e;border:1px solid #fbbf2459;border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:.62rem;font-weight:700}.guide-toc__arrow{color:#94a3b880;flex-shrink:0;font-size:1.1rem;transition:color .12s,transform .12s}.guide-toc__item:hover .guide-toc__arrow,.guide-toc__item:focus-visible .guide-toc__arrow{color:#38bdf8cc;transform:translate(2px)}.guide-toc__no-results{padding:var(--spacing-lg,24px);color:#64748b;text-align:center;font-size:.875rem}.guide-section{padding:0 var(--spacing-lg,24px)}.guide-section__back{cursor:pointer;color:#94a3b8;padding:var(--spacing-md,16px) 0 var(--spacing-sm,8px);background:0 0;border:none;align-items:center;gap:4px;font-size:.8125rem;transition:color .12s;display:flex}.guide-section__back:hover,.guide-section__back:focus-visible{color:#38bdf8;outline:none}.guide-section__title{color:#f1f5f9;margin-bottom:var(--spacing-md,16px);font-size:1.0625rem;font-weight:700;line-height:1.35}.guide-section__required-tag{letter-spacing:.05em;text-transform:uppercase;color:#fbbf24;margin-bottom:var(--spacing-sm,8px);cursor:default;background:#fbbf241f;border:1px solid #fbbf2433;border-radius:12px;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-size:.7rem;font-weight:700;display:inline-flex}.guide-section__body{color:#cbd5e1;white-space:pre-wrap;word-break:break-word;font-size:.875rem;line-height:1.65}.guide-section__body strong{color:#f1f5f9;font-weight:600}.guide-section__body table{border-collapse:collapse;width:100%;margin:var(--spacing-md,16px) 0;font-size:.8125rem}.guide-section__body th{text-align:left;color:#94a3b8;border-bottom:1px solid #ffffff1a;padding:4px 8px;font-size:.75rem;font-weight:600}.guide-section__body td{color:#cbd5e1;border-bottom:1px solid #ffffff0a;padding:5px 8px}.guide-checklist{margin:var(--spacing-md,16px) 0;flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.guide-checklist__item{color:#cbd5e1;align-items:flex-start;gap:8px;font-size:.85rem;line-height:1.5;display:flex}.guide-checklist__num{color:#38bdf8;background:#38bdf826;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;font-size:.7rem;font-weight:700;display:flex}.guide-section__lft-refs{margin-top:var(--spacing-md,16px);padding:var(--spacing-sm,8px) var(--spacing-md,12px);background:#6366f114;border-left:3px solid #6366f180;border-radius:0 6px 6px 0}.guide-section__lft-refs-label{letter-spacing:.05em;text-transform:uppercase;color:#a5b4fc;margin-bottom:4px;font-size:.7rem;font-weight:700}.guide-section__lft-refs-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.guide-section__lft-ref{color:#a5b4fc;background:#6366f11f;border:1px solid #6366f133;border-radius:12px;padding:2px 7px;font-size:.75rem}.guide-section__lft-ref-link{color:#a5b4fc;align-items:center;gap:2px;text-decoration:none;transition:color .12s,background .12s;display:inline-flex}.guide-section__lft-ref-link:hover,.guide-section__lft-ref-link:focus-visible{color:#c7d2fe;text-underline-offset:2px;outline:none;text-decoration:underline}.guide-section__actions{margin-top:var(--spacing-md,16px);flex-direction:column;gap:8px;display:flex}.guide-section__action-btn{color:#38bdf8;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf840;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.8125rem;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.guide-section__action-btn:hover,.guide-section__action-btn:focus-visible{background:#38bdf833;border-color:#38bdf873;outline:none}.guide-panel__tier-guard{padding:var(--spacing-lg,24px);text-align:center;align-items:center;gap:var(--spacing-md,16px);flex-direction:column;display:flex}.guide-panel__tier-guard-icon{color:#64748b;font-variation-settings:"FILL" 0;font-size:2.5rem}.guide-panel__tier-guard-title{color:#f1f5f9;font-size:.9375rem;font-weight:600}.guide-panel__tier-guard-hint{color:#94a3b8;font-size:.8125rem}.guide-open-btn{color:#38bdf8;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf833;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:6px 12px;font-size:.8125rem;font-weight:500;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.guide-open-btn:hover,.guide-open-btn:focus-visible{background:#38bdf82e;border-color:#38bdf866;outline:none}.guide-open-btn:active{transform:scale(.97)}.guide-open-btn--icon-only{padding:6px 8px}.guide-tooltip-anchor{display:inline-flex;position:relative}.guide-tooltip{background:var(--glass-bg,#0f172af7);border:1px solid var(--glass-border,#ffffff1f);z-index:850;pointer-events:none;opacity:0;border-radius:10px;width:240px;padding:10px 12px;transition:opacity .15s ease-out,transform .15s ease-out;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 8px 32px #00000073}.guide-tooltip--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.guide-tooltip--left{left:0;transform:translate(0)}.guide-tooltip--left.guide-tooltip--visible{transform:translate(0)translateY(0)}.guide-tooltip--right{left:auto;right:0;transform:translate(0)}.guide-tooltip--right.guide-tooltip--visible{transform:translate(0)translateY(0)}.guide-tooltip__title{color:#f1f5f9;margin-bottom:4px;font-size:.8125rem;font-weight:600}.guide-tooltip__body{color:#94a3b8;font-size:.75rem;line-height:1.5}.guide-tooltip__learn-more{color:#38bdf8;cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;margin-top:7px;padding:0;font-size:.7375rem;font-weight:500;transition:color .1s;display:inline-flex}.guide-tooltip__learn-more:hover,.guide-tooltip__learn-more:focus-visible{color:#7dd3fc;outline:none;text-decoration:underline}.guide-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--glass-border,#ffffff1f);position:absolute;top:100%;left:50%;transform:translate(-50%)}.guide-tooltip--left:after{left:16px;transform:none}.guide-tooltip--right:after{left:auto;right:16px;transform:none}.compliance-alert-banner{padding:0 0 var(--spacing-sm,8px);flex-direction:column;gap:6px;display:flex}.compliance-alert-banner:empty{display:none}.compliance-alert{align-items:flex-start;gap:var(--spacing-sm,8px);border:1px solid;border-radius:10px;padding:10px 14px;animation:.2s ease-out alert-slide-in;display:flex;position:relative}@keyframes alert-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.compliance-alert--red{background:#ef44441a;border-color:#ef444440}.compliance-alert--amber{background:#fbbf2414;border-color:#fbbf2438}.compliance-alert--info{background:#38bdf812;border-color:#38bdf82e}.compliance-alert__icon{font-variation-settings:"FILL" 1;flex-shrink:0;margin-top:1px;font-size:1.1rem}.compliance-alert--red .compliance-alert__icon{color:#ef4444}.compliance-alert--amber .compliance-alert__icon{color:#fbbf24}.compliance-alert--info .compliance-alert__icon{color:var(--accent,#38bdf8)}.compliance-alert__content{flex:1;min-width:0}.compliance-alert__message{color:#cbd5e1;margin-bottom:5px;font-size:.8125rem;line-height:1.45}.compliance-alert__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.compliance-alert__action-link{cursor:pointer;color:#38bdf8;background:0 0;border:none;align-items:center;gap:3px;padding:0;font-size:.75rem;font-weight:500;transition:color .1s;display:inline-flex}.compliance-alert__action-link:hover,.compliance-alert__action-link:focus-visible{color:#7dd3fc;outline:none;text-decoration:underline}.compliance-alert__lft-chip{letter-spacing:.04em;text-transform:uppercase;color:#a5b4fc;cursor:pointer;background:#6366f11f;border:1px solid #6366f12e;border-radius:10px;align-items:center;gap:2px;padding:1px 6px;font-size:.65rem;font-weight:700;text-decoration:none;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.compliance-alert__lft-chip:hover,.compliance-alert__lft-chip:focus-visible{color:#c7d2fe;text-underline-offset:2px;background:#6366f133;border-color:#6366f159;outline:none;text-decoration:underline}.compliance-alert__dismiss{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin-left:auto;padding:4px;font-size:1rem;transition:color .1s,background .1s;display:flex}.compliance-alert__dismiss:hover,.compliance-alert__dismiss:focus-visible{color:#f1f5f9;background:#ffffff0f;outline:none}.compliance-alert--art132 .compliance-alert__got-it{color:#38bdf8;cursor:pointer;background:#38bdf81f;border:1px solid #38bdf840;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:background .12s}.compliance-alert--art132 .compliance-alert__got-it:hover,.compliance-alert--art132 .compliance-alert__got-it:focus-visible{background:#38bdf838;outline:none}@media (prefers-reduced-motion:reduce){.guide-panel,.guide-backdrop,.guide-tooltip{transition:none}.compliance-alert{animation:none}}.crews-tab{gap:var(--spacing-lg);padding:var(--spacing-md) 0;flex-direction:column;display:flex}.crews-tab__header{justify-content:space-between;align-items:flex-start;display:flex}.crews-tab__title{font-family:var(--font-family-heading);color:var(--color-text-primary);align-items:center;gap:8px;margin:0 0 4px;font-size:1.1rem;font-weight:700;display:flex}.crews-tab__title .material-symbols-outlined{color:var(--color-primary);font-size:22px}.crews-tab__subtitle{color:var(--color-text-muted);margin:0;font-size:.78rem}.crews-tab__refresh{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--color-text-muted);cursor:pointer;min-width:36px;min-height:36px;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:6px;display:flex}.crews-tab__refresh:hover{color:var(--color-primary);border-color:var(--color-primary)}.crews-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.crews-grid--inactive{opacity:.65}.crew-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);overflow:hidden}.crew-card:hover{border-color:#7ba2d54d}.crew-card--expanded{border-color:#7ba2d54d;box-shadow:0 4px 20px #0000004d}.crew-card--inactive{filter:saturate(.4)}.crew-card__header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);cursor:pointer;text-align:left;width:100%;color:inherit;font-family:var(--font-family-primary);transition:background var(--transition-fast);background:0 0;border:none;display:flex}.crew-card__header:hover{background:#7ba2d50a}.crew-card__info{flex:1;min-width:0}.crew-card__name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.crew-card__leader{color:var(--color-text-muted);align-items:center;gap:3px;margin-top:2px;font-size:.75rem;display:flex}.crew-card__leader .material-symbols-outlined{font-size:13px}.crew-card__stats{gap:var(--spacing-md);flex-shrink:0;display:flex}.crew-card__stat{flex-direction:column;align-items:center;min-width:36px;display:flex}.crew-card__stat-value{font-family:var(--font-family-heading);color:var(--color-text-primary);font-size:1.1rem;font-weight:700;line-height:1}.crew-card__stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:.6rem}.crew-card__expand-icon{color:var(--color-text-muted);flex-shrink:0;font-size:20px}.crew-card__bar-track{background:#ffffff0d;height:3px}.crew-card__bar-fill{border-radius:0;height:100%;transition:width .4s ease-out}.crew-members{border-top:1px solid var(--glass-border);scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.crew-members__loading{padding:var(--spacing-md);color:var(--color-text-muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.crew-members__empty{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:.82rem;font-style:italic}.crew-member-row{align-items:center;gap:var(--spacing-sm);padding:8px var(--spacing-md);transition:background var(--transition-fast);border-bottom:1px solid #ffffff08;display:flex}.crew-member-row:last-child{border-bottom:none}.crew-member-row:hover{background:#7ba2d50d}.crew-member-row--inactive{opacity:.5}.crew-member-row__avatar{width:28px;height:28px;color:var(--color-primary);background:#7ba2d526;border:1px solid #7ba2d533;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.crew-member-row__info{flex:1;min-width:0}.crew-member-row__name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:600;overflow:hidden}.crew-member-row__role{color:var(--color-text-muted);margin-top:1px;font-size:.72rem}.crew-member-row__status{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:#28334199;border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:.68rem;font-weight:600}.crew-member-row__status--active{color:#22c55e;background:#22c55e1f}.crews-empty{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.crews-empty .material-symbols-outlined{opacity:.3;font-size:48px}.crews-skeleton-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.crew-card--skeleton{padding:var(--spacing-md);gap:var(--spacing-sm);flex-direction:column;display:flex}.crew-card-skel-bar{background:#7ba2d51a 0 0/200% 100%;border-radius:2px;width:40%;height:3px;animation:1.6s ease-in-out infinite tasks-shimmer}.crew-card-skel-name{background:#7ba2d514 0 0/200% 100%;border-radius:4px;width:60%;height:20px;animation:1.6s ease-in-out infinite tasks-shimmer}.crew-card-skel-meta{background:#7ba2d50d 0 0/200% 100%;border-radius:4px;width:45%;height:14px;animation:1.6s ease-in-out infinite tasks-shimmer}.crews-inactive-section{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);overflow:hidden}.crews-inactive-summary{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);align-items:center;gap:6px;font-size:.82rem;list-style:none;display:flex}.crews-inactive-summary:hover{color:var(--color-text-primary)}.crews-inactive-summary .material-symbols-outlined{font-size:16px}.crews-inactive-section[open] .crews-inactive-summary{border-bottom:1px solid var(--glass-border)}.labor-row--corrected td{background:#f59e0b0d}.labor-corr-original{color:var(--color-text-muted);opacity:.7;text-decoration:line-through}.labor-corr-new{color:var(--color-accent-2,#f59e0b);font-weight:600}.labor-chain-badge{color:var(--color-accent-2,#f59e0b);cursor:pointer;transition:background var(--transition-fast);background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.labor-chain-badge:hover{background:#f59e0b33}.labor-chain-detail-row td{background:#00000026;padding:0!important}.labor-chain{padding:var(--spacing-md);border-left:3px solid #f59e0b66}.labor-chain__title{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);font-size:.75rem;font-weight:700}.labor-chain__list{flex-direction:column;gap:8px;margin:0;padding-left:1.1rem;display:flex}.labor-chain__item{color:var(--color-text-primary);font-size:.82rem}.labor-chain__fields{flex-wrap:wrap;gap:10px;display:flex}.labor-chain__field code{background:#ffffff0f;border-radius:4px;padding:1px 5px;font-size:.78rem}.labor-chain__meta{color:var(--color-text-muted);margin-top:2px;font-size:.72rem}.schedule-tab{gap:var(--spacing-md);flex-direction:column;flex:1;min-height:0;display:flex}.schedule-tab__toolbar{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.schedule-tab__body{gap:var(--spacing-md);flex-direction:column;flex:1;min-height:0;display:flex}.week-navigator{align-items:center;gap:var(--spacing-sm);display:flex}.week-navigator__btn{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);background:var(--glass-bg);width:36px;height:36px;-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.week-navigator__btn:hover{background:var(--color-bg-elevated);border-color:var(--color-primary);color:var(--color-primary)}.week-navigator__btn .material-symbols-outlined{font-size:20px}.week-navigator__center{align-items:center;gap:var(--spacing-sm);display:flex}.week-navigator__label{font-family:var(--font-family-heading);color:var(--color-text-primary);white-space:nowrap;font-size:.95rem;font-weight:600}.week-navigator__this-week-btn{border:1px solid var(--glass-border);color:var(--color-primary);font-size:.72rem;font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:#7ba2d514;border-radius:10px;padding:3px 10px;font-weight:600}.week-navigator__this-week-btn:hover{background:#7ba2d533}.schedule-status-bar{align-items:center;gap:var(--spacing-md);padding:8px var(--spacing-md);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);flex:1;min-width:0;display:flex}.schedule-status-bar__spacer{flex:1}.schedule-status-pill{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.schedule-status-pill--draft{color:var(--color-accent-2);background:#f59e0b1f;border:1px solid #f59e0b40}.schedule-status-pill--published{color:var(--color-accent-1);background:#84cc161f;border:1px solid #84cc1640}.schedule-status-pill .material-symbols-outlined{font-size:14px}.schedule-status-bar__published-at{color:var(--color-text-muted);font-size:.75rem}.schedule-status-bar__conflicts{align-items:center;gap:4px;font-size:.8rem;font-weight:500;display:inline-flex}.schedule-status-bar__conflicts .material-symbols-outlined{font-size:16px}.schedule-status-bar__conflicts--ok{color:var(--color-accent-1)}.schedule-status-bar__conflicts--warning{color:var(--color-accent-2)}.schedule-status-bar__conflicts--error{color:#ef4444}.schedule-status-bar__publish-btn{border-radius:var(--border-radius-md);background:linear-gradient(135deg, var(--color-primary), #5c8dd6);color:#fff;font-size:.82rem;font-weight:600;font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:6px;padding:7px 16px;display:inline-flex}.schedule-status-bar__publish-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #7ba2d566}.schedule-status-bar__publish-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.schedule-status-bar__publish-btn .material-symbols-outlined{font-size:16px}.schedule-grid-wrapper{border-radius:var(--border-radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);position:relative;overflow-x:auto}.schedule-grid{grid-template-columns:200px repeat(7,minmax(120px,1fr));min-width:1040px;display:grid}.schedule-grid__header-row{display:contents}.schedule-grid__corner{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);z-index:3;background:#00000029;align-items:center;gap:6px;font-size:.72rem;font-weight:600;display:flex;position:sticky;left:0}.schedule-grid__corner .material-symbols-outlined{font-size:16px}.schedule-grid__day-header{padding:var(--spacing-sm) var(--spacing-xs);border-bottom:1px solid var(--glass-border);text-align:center;background:#0000001a;border-right:1px solid #2833414d;flex-direction:column;align-items:center;gap:2px;display:flex}.schedule-grid__day-header--today{border-bottom-color:var(--color-primary);background:#7ba2d514}.schedule-grid__day-name{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:.68rem;font-weight:700}.schedule-grid__day-num{font-family:var(--font-family-heading);color:var(--color-text-primary);font-size:1.1rem;font-weight:700;line-height:1}.schedule-grid__day-header--today .schedule-grid__day-num{color:var(--color-primary)}.schedule-grid__crew-row{display:contents}.schedule-grid__crew-label{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid #28334140;border-right:1px solid var(--glass-border);z-index:2;background:#00000014;align-content:center;align-self:start;align-items:center;gap:8px;min-height:80px;display:flex;position:sticky;left:0}.schedule-grid__crew-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.schedule-grid__crew-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.schedule-grid__crew-size{width:20px;height:20px;color:var(--color-primary);background:#7ba2d526;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.schedule-grid__cell{min-height:80px;transition:background var(--transition-fast);border-bottom:1px solid #28334140;border-right:1px solid #28334133;flex-direction:column;gap:4px;padding:6px;display:flex;position:relative}.schedule-grid__cell--over{border-color:var(--color-primary);background:#7ba2d514}.schedule-grid__empty{grid-column:1/-1}.schedule-grid__add-btn{border:1px dashed var(--glass-border);border-radius:var(--border-radius-sm);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:all var(--transition-fast);background:0 0;justify-content:center;align-self:flex-start;align-items:center;margin-top:auto;display:flex}.schedule-grid__cell:hover .schedule-grid__add-btn{opacity:1}.schedule-grid__add-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#7ba2d51a}.schedule-grid__add-btn .material-symbols-outlined{font-size:16px}.schedule-grid__shift-wrapper--dimmed{opacity:.3;filter:grayscale(.4);transition:opacity var(--transition-fast), filter var(--transition-fast)}.shift-tile{border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff14;min-width:0;padding:6px 8px;font-size:.78rem;position:relative}.shift-tile:hover{z-index:1;background:#ffffff14;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.shift-tile:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.shift-tile--dragging{opacity:.5;box-shadow:none!important;transform:none!important}.shift-tile--ghost{opacity:.85;pointer-events:none;border:1px solid var(--color-primary);border-radius:var(--border-radius-md);background:#7ba2d51f;padding:8px 12px;box-shadow:0 8px 24px #0006}.shift-tile--crew-1{border-left-color:#7ba2d5}.shift-tile--crew-2{border-left-color:#84cc16}.shift-tile--crew-3{border-left-color:#f59e0b}.shift-tile--crew-4{border-left-color:#ec4899}.shift-tile--crew-5{border-left-color:#8b5cf6}.shift-tile--crew-6{border-left-color:#06b6d4}.shift-tile--crew-7{border-left-color:#ef4444}.shift-tile--crew-8{border-left-color:#14b8a6}.shift-tile--crew-1.schedule-grid__crew-color-dot{background:#7ba2d5}.shift-tile--crew-2.schedule-grid__crew-color-dot{background:#84cc16}.shift-tile--crew-3.schedule-grid__crew-color-dot{background:#f59e0b}.shift-tile--crew-4.schedule-grid__crew-color-dot{background:#ec4899}.shift-tile--crew-5.schedule-grid__crew-color-dot{background:#8b5cf6}.shift-tile--crew-6.schedule-grid__crew-color-dot{background:#06b6d4}.shift-tile--crew-7.schedule-grid__crew-color-dot{background:#ef4444}.shift-tile--crew-8.schedule-grid__crew-color-dot{background:#14b8a6}.shift-tile__drag-handle{color:var(--color-text-muted);opacity:0;cursor:grab;transition:opacity var(--transition-fast);touch-action:none;font-size:14px;position:absolute;top:4px;right:4px}.shift-tile:hover .shift-tile__drag-handle{opacity:.6}.shift-tile__time{font-family:var(--font-family-heading);color:var(--color-text-primary);white-space:nowrap;font-size:.72rem;font-weight:700}.shift-tile__work-type{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.7rem;overflow:hidden}.shift-tile__worker{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.68rem;overflow:hidden}.shift-tile__conflict-badge{position:absolute;bottom:4px;right:4px}.conflict-badge{cursor:pointer;outline-offset:2px;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.6rem;font-weight:700;display:inline-flex;position:relative}.conflict-badge:focus-visible{outline:2px solid var(--color-primary)}.conflict-badge--error{color:#fff;background:#ef4444e6;box-shadow:0 0 8px #ef444480}.conflict-badge--warning{color:#fff;background:#f59e0be6;box-shadow:0 0 8px #f59e0b66}.conflict-badge__tooltip{background:var(--color-bg-elevated);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow-ambient);white-space:nowrap;z-index:100;flex-direction:column;gap:4px;min-width:160px;font-size:.75rem;display:flex;position:absolute;bottom:calc(100% + 6px);right:0}.conflict-badge__tooltip-item{color:var(--color-text-secondary)}.conflict-toast{bottom:var(--spacing-lg);right:var(--spacing-lg);z-index:9999;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-lg);-webkit-backdrop-filter:var(--glass-blur);max-width:380px;animation:toast-slide-in .25s var(--transition-fast) both;border:1px solid;display:flex;position:fixed;box-shadow:0 8px 32px #0006}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.conflict-toast--error{background:#1e0a0ad9;border-color:#ef444466}.conflict-toast--warning{background:#1e1605d9;border-color:#f59e0b66}.conflict-toast__icon{flex-shrink:0;margin-top:2px}.conflict-toast__icon .material-symbols-outlined{font-size:20px}.conflict-toast--error .conflict-toast__icon{color:#ef4444}.conflict-toast--warning .conflict-toast__icon{color:var(--color-accent-2)}.conflict-toast__body{flex:1;min-width:0}.conflict-toast__title{color:var(--color-text-primary);margin:0 0 4px;font-size:.84rem;font-weight:600}.conflict-toast__message{color:var(--color-text-secondary);margin:0 0 var(--spacing-sm);font-size:.8rem}.conflict-toast__actions{align-items:center;gap:var(--spacing-sm);display:flex}.conflict-toast__btn{border-radius:var(--border-radius-sm);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-family-primary);transition:all var(--transition-fast);border:1px solid #0000;padding:4px 10px}.conflict-toast__btn--undo{color:var(--color-primary);background:#7ba2d526;border-color:#7ba2d533}.conflict-toast__btn--undo:hover{background:#7ba2d540}.conflict-toast__btn--confirm{color:var(--color-accent-2);background:#f59e0b26;border-color:#f59e0b33}.conflict-toast__btn--dismiss{width:28px;height:28px;color:var(--color-text-muted);border-radius:var(--border-radius-sm);background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.conflict-toast__btn--dismiss:hover{background:#ffffff0f}.conflict-toast__btn--dismiss .material-symbols-outlined{font-size:16px}.shift-creator-drawer{width:440px}.shift-creator-drawer__content{gap:var(--spacing-md);padding:var(--spacing-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.shift-creator-conflict{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);align-items:flex-start;gap:8px;font-size:.8rem;display:flex}.shift-creator-conflict--hard{color:#fca5a5;background:#ef44441a;border:1px solid #ef444440}.shift-creator-conflict--soft{color:#fcd34d;background:#f59e0b1a;border:1px solid #f59e0b40}.shift-creator-conflict .material-symbols-outlined{flex-shrink:0;font-size:16px}.shift-form-field{flex-direction:column;gap:6px;display:flex}.shift-form-field--half{flex:1;min-width:0}.shift-form-row{gap:var(--spacing-md);display:flex}.shift-form-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.shift-form-required{color:#ef4444}.shift-form-select,.shift-form-input{appearance:none;border:1px solid var(--glass-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:.84rem;font-family:var(--font-family-primary);width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#00000040;padding:8px 12px}.shift-form-select:focus,.shift-form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow);outline:none}.shift-form-select option{background:var(--color-bg-surface);color:var(--color-text-primary)}.shift-form-toggles{gap:var(--spacing-sm);flex-direction:column;display:flex}.shift-form-toggle{cursor:pointer;align-items:center;gap:10px;display:flex}.shift-form-toggle input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.shift-form-toggle__track{background:var(--glass-border);width:36px;height:20px;transition:background var(--transition-fast);border-radius:10px;flex-shrink:0;position:relative}.shift-form-toggle__track:after{content:"";width:14px;height:14px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.shift-form-toggle input:checked~.shift-form-toggle__track{background:var(--color-primary)}.shift-form-toggle input:checked~.shift-form-toggle__track:after{transform:translate(16px)}.shift-form-toggle__label{color:var(--color-text-secondary);font-size:.82rem}.shift-creator-drawer__footer{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--glass-border);background:#0000001f;display:flex}.shift-creator-drawer__footer-right{gap:var(--spacing-sm);margin-left:auto;display:flex}.shift-creator-drawer__delete-btn{border-radius:var(--border-radius-md);color:#ef4444;font-size:.8rem;font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-fast);background:#ef444414;border:1px solid #ef44444d;align-items:center;gap:4px;padding:7px 12px;display:inline-flex}.shift-creator-drawer__delete-btn:hover{background:#ef444426}.shift-creator-drawer__delete-btn .material-symbols-outlined{font-size:16px}.shift-creator-drawer__cancel-btn{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-size:.84rem;font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:7px 16px}.shift-creator-drawer__cancel-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.shift-creator-drawer__save-btn{border-radius:var(--border-radius-md);background:linear-gradient(135deg, var(--color-primary), #5c8dd6);color:#fff;font-size:.84rem;font-weight:600;font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-fast);border:none;padding:7px 20px}.shift-creator-drawer__save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7ba2d54d}.shift-creator-drawer__save-btn:disabled{opacity:.5;cursor:not-allowed}.fgr-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);overflow:hidden}.fgr-panel__header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border);background:#0000001f;justify-content:space-between;align-items:center;display:flex}.fgr-panel__title{font-family:var(--font-family-heading);color:var(--color-text-primary);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.fgr-panel__title .material-symbols-outlined{color:var(--color-accent-1);font-size:20px}.fgr-panel__count{color:var(--color-accent-2);background:#f59e0b26;border:1px solid #f59e0b33;border-radius:10px;justify-content:center;align-items:center;padding:1px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.fgr-panel__toggle{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.fgr-panel__toggle:hover{color:var(--color-text-primary);background:#ffffff0f}.fgr-panel__toggle .material-symbols-outlined{font-size:20px}.fgr-panel__body{padding:var(--spacing-md)}.fgr-panel__empty{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);color:var(--color-text-muted);text-align:center;flex-direction:column;font-size:.84rem;display:flex}.fgr-panel__empty .material-symbols-outlined{opacity:.3;font-size:32px}.fgr-panel__cards{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.fgr-card{border:1px solid var(--glass-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);background:#ffffff08;flex-direction:column;gap:8px;display:flex}.fgr-card:hover{background:#ffffff0f;border-color:#7ba2d54d}.fgr-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.fgr-card--highlighted{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow);background:#7ba2d514}.fgr-card__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.fgr-card__field-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:600;overflow:hidden}.fgr-urgency-badge{letter-spacing:.06em;border-radius:8px;flex-shrink:0;padding:1px 7px;font-size:.62rem;font-weight:700}.fgr-urgency-badge--high{color:#ef4444;background:#ef444426;border:1px solid #ef444433}.fgr-urgency-badge--medium{color:var(--color-accent-2);background:#f59e0b1f;border:1px solid #f59e0b33}.fgr-urgency-badge--low{color:var(--color-accent-1);background:#84cc161a;border:1px solid #84cc1626}.fgr-bar{background:#ffffff0f;border-radius:3px;height:5px;overflow:hidden}.fgr-bar__fill{height:100%;transition:width var(--transition-fast);border-radius:3px}.fgr-card__meta{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:.75rem;display:flex}.fgr-card__meta .material-symbols-outlined{color:var(--color-text-muted);flex-shrink:0;font-size:14px}.publish-modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:999;padding:var(--spacing-lg);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.publish-modal{background:var(--color-bg-elevated);border:1px solid var(--glass-border);border-radius:var(--border-radius-xl,16px);width:100%;max-width:480px;animation:modal-pop-in .2s var(--transition-fast) both;flex-direction:column;display:flex;box-shadow:0 24px 64px #00000080}@keyframes modal-pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.publish-modal__header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--glass-border);display:flex}.publish-modal__icon{color:var(--color-primary);font-size:24px}.publish-modal__title{font-family:var(--font-family-heading);color:var(--color-text-primary);flex:1;margin:0;font-size:1.1rem;font-weight:700}.publish-modal__body{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex}.publish-modal__section-title{margin-bottom:var(--spacing-sm);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.publish-modal__section-title .material-symbols-outlined{font-size:18px}.publish-modal__conflict-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.publish-modal__conflict-item{color:var(--color-text-secondary);border-bottom:1px solid #2833414d;padding:4px 0;font-size:.82rem}.publish-modal__conflict-item--error{color:#fca5a5}.publish-modal__conflict-item--warning{color:#fcd34d}.publish-modal__note{color:var(--color-text-muted);margin-top:var(--spacing-xs);font-size:.8rem;font-style:italic}.publish-modal__ack-checkbox{color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm) 0;border-top:1px solid var(--glass-border);margin-top:var(--spacing-sm);align-items:center;gap:10px;font-size:.84rem;display:flex}.publish-modal__ack-checkbox input{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary)}.publish-modal__all-ok{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);flex-direction:column;font-size:.9rem;display:flex}.publish-modal__summary{gap:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--border-radius-md);background:#0000001f;flex-wrap:wrap;display:flex}.publish-modal__stat{flex-direction:column;gap:2px;display:flex}.publish-modal__stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.68rem;font-weight:600}.publish-modal__stat-value{font-family:var(--font-family-heading);color:var(--color-text-primary);font-size:1.3rem;font-weight:700}.publish-modal__footer{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--glass-border);display:flex}.shift-creator-drawer .drawer__header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border);background:#0000001f;display:flex}.shift-creator-drawer .drawer__title{font-family:var(--font-family-heading);color:var(--color-text-primary);flex:1;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:700;display:flex}.shift-creator-drawer .drawer__title .material-symbols-outlined{color:var(--color-primary);font-size:20px}.feedback-dashboard{padding:var(--spacing-lg,24px);max-width:1200px}.feedback-dashboard__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.feedback-dashboard__header h2{margin:0;font-size:1.3rem;font-weight:600}.feedback-dashboard__count{color:var(--color-text-muted,#6b7280);font-size:.9rem}.feedback-dashboard__filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.feedback-dashboard__filters select,.feedback-dashboard__filters input{border:1px solid var(--color-border,#e5e7eb);background:var(--color-surface,#fff);color:var(--color-text-primary,#111);border-radius:6px;padding:6px 10px;font-size:.85rem}.feedback-dashboard__search{min-width:160px}.feedback-dashboard__table-wrap{overflow-x:auto}.feedback-dashboard__table{border-collapse:collapse;width:100%;font-size:.88rem}.feedback-dashboard__table th{text-align:left;border-bottom:2px solid var(--color-border,#e5e7eb);color:var(--color-text-muted,#6b7280);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;font-size:.8rem;font-weight:600}.feedback-dashboard__table td{border-bottom:1px solid var(--color-border,#f3f4f6);vertical-align:middle;padding:10px 12px}.feedback-dashboard__row{cursor:pointer;transition:background .1s}.feedback-dashboard__row:hover{background:var(--color-bg-hover,#f9fafb)}.feedback-dashboard__title-cell{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.feedback-badge{color:#fff;text-transform:uppercase;letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.feedback-severity-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.feedback-dashboard__pagination{justify-content:center;align-items:center;gap:16px;margin-top:16px;font-size:.85rem;display:flex}.feedback-dashboard__pagination button{border:1px solid var(--color-border,#e5e7eb);background:var(--color-surface,#fff);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.85rem}.feedback-dashboard__pagination button:disabled{opacity:.4;cursor:not-allowed}.feedback-detail{padding:var(--spacing-lg,24px);max-width:1200px}.feedback-detail__back{cursor:pointer;color:var(--color-primary,#2563eb);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:4px 0;font-size:.9rem;display:flex}.feedback-detail__back:hover{text-decoration:underline}.feedback-detail__grid{grid-template-columns:1fr 320px;gap:24px;display:grid}.feedback-detail__left{min-width:0}.feedback-detail__screenshot{border:1px solid var(--color-border,#e5e7eb);border-radius:8px;width:100%;margin-bottom:16px}.feedback-detail__section{margin-bottom:16px}.feedback-detail__section h4{color:var(--color-text-muted,#6b7280);margin:0 0 8px;font-size:.9rem;font-weight:600}.feedback-detail__ai-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px;font-size:.85rem;display:grid}.feedback-detail__context-list{margin:0;padding:0;font-size:.82rem;list-style:none}.feedback-detail__context-list li{border-bottom:1px solid var(--color-border,#f3f4f6);align-items:baseline;gap:8px;padding:4px 0;display:flex}.feedback-detail__context-list code{background:var(--color-bg-secondary,#f3f4f6);border-radius:3px;padding:1px 5px;font-size:.78rem}.feedback-detail__time{color:var(--color-text-muted,#9ca3af);margin-left:auto;font-size:.78rem}.feedback-detail__meta{background:var(--color-bg-secondary,#f9fafb);border-radius:8px;flex-direction:column;gap:6px;padding:12px;font-size:.85rem;display:flex}.feedback-detail__select{border:1px solid var(--color-border,#e5e7eb);background:var(--color-surface,#fff);border-radius:6px;width:100%;padding:8px 10px;font-size:.85rem}@media (width<=768px){.feedback-detail__grid{grid-template-columns:1fr}}.admin-page{--admin-bg:#0f1117;--admin-surface:#171a21;--admin-surface-2:#1e2130;--admin-border:#ffffff14;--admin-text:#e8eaf0;--admin-text-muted:#7a859a;--admin-accent:#4f6ef7;--admin-accent-hover:#3d5be0;--admin-danger:#e05252;--admin-success:#4caf7d;--admin-warning:#f0a030;--admin-radius:10px;--admin-radius-sm:6px;background:var(--admin-bg);min-height:100vh;color:var(--admin-text);padding:32px 40px;font-family:inherit}.admin-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.admin-title{color:var(--admin-text);letter-spacing:-.02em;margin:0 0 4px;font-size:24px;font-weight:600}.admin-subtitle{color:var(--admin-text-muted);margin:0;font-size:13px}.admin-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.admin-search-wrap{flex:1;min-width:200px;position:relative}.admin-search-icon{color:var(--admin-text-muted);pointer-events:none;font-size:18px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.admin-search{background:var(--admin-surface-2);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);width:100%;color:var(--admin-text);outline:none;padding:10px 12px 10px 40px;font-size:14px;transition:border-color .15s}.admin-search::placeholder{color:var(--admin-text-muted)}.admin-search:focus{border-color:var(--admin-accent)}.admin-filter-select{background:var(--admin-surface-2);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);color:var(--admin-text);cursor:pointer;outline:none;padding:10px 12px;font-size:13px;transition:border-color .15s}.admin-filter-select:focus{border-color:var(--admin-accent)}.admin-error-banner{color:#ff8080;border-radius:var(--admin-radius-sm);background:#e052521f;border:1px solid #e052524d;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.admin-error-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:auto;display:flex}.admin-error-close:hover{opacity:1}.admin-table-wrap{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);overflow:hidden}.admin-table{border-collapse:collapse;width:100%;font-size:13.5px}.admin-table thead{background:var(--admin-surface-2)}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--admin-text-muted);border-bottom:1px solid var(--admin-border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:600}.admin-table td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:14px 16px}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#ffffff05}.row-self{background:#4f6ef70a}.user-cell{align-items:center;gap:12px;display:flex}.user-avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.user-name{color:var(--admin-text);align-items:center;gap:6px;font-weight:500;display:flex}.user-email{color:var(--admin-text-muted);margin-top:2px;font-size:12px}.user-customer{color:var(--admin-text-muted);font-size:13px}.user-date{color:var(--admin-text-muted);font-size:12px}.badge-you{color:#8099ff;letter-spacing:.04em;background:#4f6ef733;border:1px solid #4f6ef74d;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.user-badge{letter-spacing:.03em;border-radius:4px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-block}.badge-superuser{color:#f5c040;background:#dca03c26;border:1px solid #dca03c4d}.badge-cs-admin{color:#8099ff;background:#4f6ef726;border:1px solid #4f6ef74d}.badge-agent{color:#6fda9f;background:#4caf7d26;border:1px solid #4caf7d4d}.badge-viewer{color:#9aa0b0;background:#7a859a1f;border:1px solid #7a859a40}.status-indicator{align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-active .status-dot{background:var(--admin-success)}.status-suspended .status-dot{background:var(--admin-danger)}.status-invited .status-dot{background:var(--admin-warning)}.status-active{color:var(--admin-success)}.status-suspended{color:var(--admin-danger)}.status-invited{color:var(--admin-warning)}.admin-role-select{background:var(--admin-surface-2);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);color:var(--admin-text);cursor:pointer;outline:none;padding:4px 8px;font-size:12.5px}.admin-role-select:focus{border-color:var(--admin-accent)}.action-cell{gap:6px;display:flex}.action-btn{border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);cursor:pointer;color:var(--admin-text-muted);background:0 0;align-items:center;padding:5px 7px;transition:background .12s,color .12s,border-color .12s;display:flex}.action-btn .material-symbols-outlined{font-size:17px}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn-danger:hover{color:var(--admin-danger);background:#e052521f;border-color:#e052524d}.action-btn-success:hover{color:var(--admin-success);background:#4caf7d1f;border-color:#4caf7d4d}.admin-loading,.admin-empty{text-align:center;color:var(--admin-text-muted);flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.admin-empty-icon{opacity:.3;font-size:40px}.admin-spinner-lg{border:3px solid #4f6ef733;border-top-color:var(--admin-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.admin-spinner-sm{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.admin-pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.admin-pagination-info{color:var(--admin-text-muted);font-size:13px}.admin-btn{border-radius:var(--admin-radius-sm);cursor:pointer;border:none;outline:none;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn .material-symbols-outlined{font-size:16px}.admin-btn-primary{background:var(--admin-accent);color:#fff}.admin-btn-primary:hover:not(:disabled){background:var(--admin-accent-hover)}.admin-btn-ghost{background:var(--admin-surface-2);border:1px solid var(--admin-border);color:var(--admin-text-muted)}.admin-btn-ghost:hover:not(:disabled){color:var(--admin-text);background:#ffffff0f}.admin-btn-sm{padding:6px 12px;font-size:12.5px}.admin-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.admin-modal{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);width:100%;max-width:480px;overflow:hidden;box-shadow:0 24px 80px #00000080}.admin-modal-header{border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.admin-modal-header h3{color:var(--admin-text);margin:0;font-size:16px;font-weight:600}.admin-modal-close{color:var(--admin-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;transition:color .12s;display:flex}.admin-modal-close:hover{color:var(--admin-text)}.admin-modal-form{flex-direction:column;gap:18px;padding:24px;display:flex}.admin-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.admin-field{flex-direction:column;gap:6px;display:flex}.admin-label{color:var(--admin-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12.5px;font-weight:600}.admin-input{background:var(--admin-surface-2);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);color:var(--admin-text);box-sizing:border-box;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.admin-input::placeholder{color:var(--admin-text-muted)}.admin-input:focus{border-color:var(--admin-accent)}.admin-select{cursor:pointer}.admin-role-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.admin-role-card{background:var(--admin-surface-2);border:1.5px solid var(--admin-border);border-radius:var(--admin-radius-sm);cursor:pointer;flex-direction:column;gap:3px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.admin-role-card input[type=radio]{display:none}.admin-role-card:hover{border-color:#4f6ef766}.admin-role-card.selected{border-color:var(--admin-accent);background:#4f6ef714}.admin-role-label{color:var(--admin-text);font-size:13.5px;font-weight:600}.admin-role-desc{color:var(--admin-text-muted);font-size:11px}.admin-modal-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.admin-success-icon{color:var(--admin-success);font-size:48px}.admin-modal-success p{color:var(--admin-text-muted);font-size:14px}.admin-modal-success strong{color:var(--admin-text)}.admin-spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@media (width<=768px){.admin-page{padding:20px 16px}.admin-header{flex-direction:column;gap:16px}.admin-table th:nth-child(3),.admin-table td:nth-child(3),.admin-table th:nth-child(5),.admin-table td:nth-child(5){display:none}}.admin-invites-panel{background:#38bdf80a;border:1px solid #38bdf82e;border-radius:12px;margin-bottom:24px;overflow:hidden}.admin-invites-header{background:#38bdf80f;border-bottom:1px solid #38bdf81f;align-items:center;gap:8px;padding:12px 20px;display:flex}.admin-invites-icon{color:#38bdf8;font-size:18px}.admin-invites-title{text-transform:uppercase;letter-spacing:.06em;color:#38bdf8;flex:1;font-size:.82rem;font-weight:700}.admin-invites-count{color:#38bdf8;text-align:center;background:#38bdf82e;border-radius:12px;min-width:22px;padding:1px 8px;font-size:.72rem;font-weight:700}.admin-invites-loading{color:var(--text-muted,#94a3b8);align-items:center;gap:8px;padding:16px 20px;font-size:.82rem;display:flex}.admin-invites-table{border-collapse:collapse;width:100%;font-size:.84rem}.admin-invites-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#94a3b8);border-bottom:1px solid #ffffff0f;padding:8px 16px;font-size:.72rem;font-weight:600}.admin-invites-table td{color:var(--text-secondary,#cbd5e1);vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:10px 16px}.admin-invites-table tr:last-child td{border-bottom:none}.invite-row--expired{opacity:.6}.invite-expired-text{color:#f87171}.invite-email{color:#f1f5f9;align-items:center;gap:8px;font-weight:500;display:flex}.admin-resend-toast{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e40;border-radius:8px;align-items:center;gap:6px;margin:10px 16px 0;padding:8px 14px;font-size:.82rem;font-weight:500;animation:.2s ease-out fadeIn;display:flex}.admin-resend-toast .material-symbols-outlined{font-size:16px}.action-btn-primary{color:#38bdf8;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf840;border-radius:6px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:6px 8px;transition:background .12s,border-color .12s;display:inline-flex}.action-btn-primary:hover:not(:disabled){background:#38bdf833;border-color:#38bdf880}.action-btn-primary:disabled{opacity:.4;cursor:not-allowed}.action-btn-primary .material-symbols-outlined{font-size:18px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.invite-actions{align-items:center;gap:6px;display:flex}.action-btn-ghost{color:var(--text-muted,#94a3b8);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:6px 8px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.action-btn-ghost:hover{color:#f1f5f9;background:#ffffff1a}.action-btn-ghost .material-symbols-outlined{font-size:18px}.action-btn-success{color:#4ade80;cursor:pointer;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:6px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:6px 8px;display:inline-flex}.action-btn-success .material-symbols-outlined{font-size:18px}.engagement{padding:var(--spacing-lg);max-width:1280px;animation:engagement-fade-in .4s var(--transition-normal)}@keyframes engagement-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.engagement__header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.engagement__title{font-family:var(--font-family-heading);color:var(--color-text-primary);align-items:center;gap:var(--spacing-sm);margin:0;font-size:1.5rem;font-weight:700;display:flex}.engagement__title .material-symbols-outlined{color:var(--color-primary);font-size:28px}.engagement__subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:.85rem}.engagement__controls{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.engagement__select{border-radius:var(--border-radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text-primary);font-size:.85rem;font-family:var(--font-family-primary);cursor:pointer;transition:border-color var(--transition-fast);padding:8px 12px}.engagement__select:focus{border-color:var(--color-primary);outline:none}.engagement__select option{background:var(--color-bg-surface);color:var(--color-text-primary)}.engagement__kpis{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.engagement__kpi-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-card);transition:transform var(--transition-fast), box-shadow var(--transition-fast);position:relative;overflow:hidden}.engagement__kpi-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-accent-1));opacity:.8;height:3px;position:absolute;top:0;left:0;right:0}.engagement__kpi-card--open:before{background:linear-gradient(90deg,#ea580c,#dc2626)}.engagement__kpi-card:hover{box-shadow:var(--shadow-ambient);transform:translateY(-2px)}.engagement__kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--spacing-xs);font-size:.75rem}.engagement__kpi-value{font-family:var(--font-family-heading);color:var(--color-text-primary);font-size:1.8rem;font-weight:700;line-height:1.1}.engagement__kpi-unit{color:var(--color-text-muted);margin-left:2px;font-size:.85rem;font-weight:400}.engagement__kpi-change{margin-top:var(--spacing-xs);color:var(--color-text-muted);font-size:.78rem}.engagement__kpi-change--up{color:var(--color-accent-1)}.engagement__kpi-change--down{color:var(--color-accent-3)}.engagement__charts{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}@media (width<=900px){.engagement__charts{grid-template-columns:1fr}}.engagement__chart-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-card)}.engagement__chart-card--wide{grid-column:1/-1}.engagement__chart-title{margin:0 0 var(--spacing-md);font-family:var(--font-family-heading);color:var(--color-text-primary);align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600;display:flex}.engagement__chart-title .material-symbols-outlined{color:var(--color-primary);font-size:20px}.engagement__empty-chart{height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.engagement__recent{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-card)}.engagement__recent-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.engagement__link-btn{color:var(--color-primary);cursor:pointer;border-radius:var(--border-radius-sm);transition:background var(--transition-fast);background:0 0;border:none;padding:4px 8px;font-size:.85rem}.engagement__link-btn:hover{background:#7ba2d51f}.engagement__recent-table{border-collapse:collapse;width:100%;font-size:.85rem}.engagement__recent-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--glass-border);font-size:.72rem}.engagement__recent-table td{padding:var(--spacing-sm);color:var(--color-text-secondary);border-bottom:1px solid #ffffff08}.engagement__recent-row{cursor:pointer;transition:background var(--transition-fast)}.engagement__recent-row:hover{background:#ffffff0a}.engagement__recent-title{text-overflow:ellipsis;white-space:nowrap;max-width:300px;color:var(--color-text-primary);overflow:hidden}.engagement__badge{color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.engagement__severity-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.engagement__denied{justify-content:center;align-items:center;gap:var(--spacing-md);height:60vh;color:var(--color-text-muted);text-align:center;flex-direction:column;display:flex}.engagement__denied .material-symbols-outlined{color:var(--color-accent-3);opacity:.6;font-size:56px}.engagement__denied h2{font-family:var(--font-family-heading);color:var(--color-text-primary);margin:0}.engagement__placeholder{padding:var(--spacing-xl);color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;font-size:.85rem;display:flex}.engagement__placeholder .material-symbols-outlined{opacity:.4;font-size:40px}.engagement__placeholder--error .material-symbols-outlined{color:var(--color-accent-3);opacity:.7}@keyframes engagement-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.engagement__spinner{animation:1s linear infinite engagement-spin}.engagement .recharts-cartesian-axis-tick-value{fill:var(--color-text-muted);font-size:.75rem}.engagement .recharts-tooltip-wrapper{outline:none}.engagement__tooltip{background:var(--color-bg-elevated);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow-ambient)}.engagement__tooltip-label{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:.78rem;font-weight:600}.engagement__tooltip-value{color:var(--color-text-secondary);font-size:.75rem}.settings-page{background-color:var(--color-bg-base);height:100vh;color:var(--color-text-primary);display:flex;overflow:hidden}.settings-sidebar{border-right:1px solid var(--glass-border);background-color:var(--color-bg-surface);width:250px;padding:2rem 0}.settings-nav{flex-direction:column;display:flex}.settings-nav-item{text-align:left;cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s}.settings-nav-item:hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.settings-nav-item.active{background-color:var(--color-primary-glow);color:var(--color-primary);border-right:3px solid var(--color-primary);font-weight:500}.settings-main{flex:1;max-width:1000px;padding:2rem;overflow-y:auto}.settings-section h2{margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.billing-overview{flex-direction:column;gap:1.5rem;display:flex}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.billing-card-header{border-bottom:1px solid var(--glass-border);background-color:var(--color-bg-elevated);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.billing-card-header h3{margin:0;font-size:1.125rem;font-weight:600}.billing-card-body{padding:1.5rem}.plan-name{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.plan-cost{color:var(--color-primary);margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.plan-cost .period{color:var(--color-text-muted);font-size:1rem;font-weight:400}.billing-details{flex-direction:column;gap:.75rem;display:flex}.detail-row{border-bottom:1px dashed var(--glass-border);justify-content:space-between;padding-bottom:.5rem;display:flex}.detail-row .label{color:var(--color-text-secondary)}.detail-row .value{font-weight:500}.billing-card-actions{background-color:var(--color-bg-base);border-top:1px solid var(--glass-border);justify-content:flex-end;padding:1.25rem 1.5rem;display:flex}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius-sm);cursor:pointer;border:none;padding:.5rem 1rem;font-weight:500;transition:background-color .2s}.btn-primary:hover{background-color:var(--color-primary-container)}.status-badge{letter-spacing:.05em;background-color:#0000;border:1px solid;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.status-active,.status-trialing{color:var(--color-accent-1)}.status-past_due{color:var(--color-accent-2)}.status-canceled,.status-unpaid{color:var(--color-accent-3)}.billing-overview-loading{text-align:center;color:var(--color-text-muted);padding:2rem}.billing-overview-error{border:1px solid var(--color-accent-3);border-radius:var(--border-radius-md);color:var(--color-accent-3);background-color:#ef44441a;padding:1.5rem}.fallback-text{color:var(--color-accent-3);margin-top:.5rem;font-size:.875rem}.billing-divider{border:none;border-top:1px solid var(--glass-border);margin:2rem 0}.section-title{margin-bottom:1rem;font-size:1.25rem;font-weight:600}.saved-methods-list,.invoice-list{margin-bottom:1.5rem}.payment-method-card{justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:1rem 1.5rem;display:flex}.pm-details{align-items:center;gap:1rem;display:flex}.pm-brand{color:var(--color-text-primary);font-weight:600}.pm-last4,.pm-exp{color:var(--color-text-secondary)}.pm-actions{gap:1rem;display:flex}.btn-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-weight:500}.btn-link:hover{text-decoration:underline}.btn-danger-link{color:var(--color-accent-3);cursor:pointer;background:0 0;border:none;font-weight:500}.btn-danger-link:hover{text-decoration:underline}.add-method-form{padding:1.5rem}.add-method-form h4{margin-bottom:1rem;font-size:1rem}.card-element-container{border:1px solid var(--glass-border);background-color:var(--color-bg-elevated);border-radius:6px;margin-bottom:1rem;padding:.75rem}.card-error{color:var(--color-accent-3);margin-bottom:1rem;font-size:.875rem}.invoice-table{border-collapse:collapse;width:100%}.invoice-table th{text-align:left;border-bottom:2px solid var(--glass-border);color:var(--color-text-secondary);padding:1rem;font-weight:500}.invoice-table td{border-bottom:1px solid var(--glass-border);vertical-align:middle;padding:1rem}.privacy-intro{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.5}.privacy-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);margin-bottom:2rem;padding:1.5rem}.privacy-card h3{margin-top:0;margin-bottom:.5rem;font-size:1.25rem}.privacy-alert{border-radius:6px;margin:1.5rem 0;padding:1rem;font-weight:500}.privacy-alert.success{color:#059669;background-color:#10b9811a;border:1px solid #10b981}.privacy-alert.error{color:var(--color-accent-3);border:1px solid var(--color-accent-3);background-color:#ef44441a}.privacy-form{flex-direction:column;gap:1.5rem;margin-top:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text-primary);font-weight:500}.form-group select,.form-group textarea{border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);background-color:var(--color-bg-elevated);color:var(--color-text-primary);padding:.75rem;font-family:inherit;font-size:1rem}.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow);outline:none}.privacy-submit-btn{background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius-sm);cursor:pointer;border:none;align-self:flex-start;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s}.privacy-submit-btn:hover:not(:disabled){background-color:var(--color-primary-container)}.privacy-submit-btn:disabled{opacity:.7;cursor:not-allowed}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-line{background:linear-gradient(90deg, var(--color-bg-elevated) 25%, var(--glass-border) 50%, var(--color-bg-elevated) 75%);background-size:800px 100%;border-radius:4px;height:14px;animation:1.5s linear infinite shimmer}.skeleton-badge{background:linear-gradient(90deg, var(--color-bg-elevated) 25%, var(--glass-border) 50%, var(--color-bg-elevated) 75%);background-size:800px 100%;border-radius:9999px;width:72px;height:24px;animation:1.5s linear infinite shimmer}.skeleton-billing-card{border-radius:var(--border-radius-lg);border:1px solid var(--glass-border);overflow:hidden}.skeleton-header{border-bottom:1px solid var(--glass-border);background-color:var(--color-bg-elevated);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.skeleton-title{width:140px;height:18px}.skeleton-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.skeleton-plan-name{width:180px;height:20px}.skeleton-plan-cost{width:120px;height:28px}.skeleton-detail-rows{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.skeleton-detail-row{border-bottom:1px dashed var(--glass-border);justify-content:space-between;padding-bottom:.5rem;display:flex}.skeleton-label{width:140px}.skeleton-value{width:100px}.skeleton-footer{background-color:var(--color-bg-base);border-top:1px solid var(--glass-border);justify-content:flex-end;padding:1.25rem 1.5rem;display:flex}.skeleton-btn{border-radius:var(--border-radius-sm);background:linear-gradient(90deg, var(--color-bg-elevated) 25%, var(--glass-border) 50%, var(--color-bg-elevated) 75%);background-size:800px 100%;width:160px;height:36px;animation:1.5s linear infinite shimmer}.skeleton-payment-cards{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.skeleton-pm-card{border-radius:var(--border-radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.skeleton-pm-details{align-items:center;gap:1rem;display:flex}.skeleton-brand{width:50px}.skeleton-last4{width:60px}.skeleton-exp{width:50px}.skeleton-pm-actions{gap:1rem;display:flex}.skeleton-action{width:70px}.skeleton-table{width:100%}.skeleton-table-header,.skeleton-table-row{grid-template-columns:1.5fr 1fr .8fr 1fr;gap:1rem;padding:1rem;display:grid}.skeleton-table-header{border-bottom:2px solid var(--glass-border)}.skeleton-table-row{border-bottom:1px solid var(--glass-border)}.skeleton-th,.skeleton-td{height:14px}.skeleton-td-short{width:80%;height:14px}.billing-error-state{text-align:center;color:var(--color-text-secondary);padding:2rem}.billing-error-state p{color:var(--color-accent-3);margin-bottom:1rem}.btn-retry{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--border-radius-sm);cursor:pointer;background:0 0;padding:.5rem 1.25rem;font-weight:500;transition:all .2s}.btn-retry:hover{background-color:var(--color-primary);color:#fff}.payment-element-container,.address-element-container{margin-bottom:1.5rem}.address-element-container h4{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.9375rem}.add-method-form .form-error{border-radius:var(--border-radius-sm);border:1px solid var(--color-accent-3);color:var(--color-accent-3);background-color:#ef44441a;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.add-method-form .form-error .btn-retry{padding:.25rem .75rem;font-size:.8125rem}.canopy-dashboard{padding:var(--spacing-lg,24px);gap:var(--spacing-lg,24px);flex-direction:column;max-width:1400px;margin:0 auto;display:flex}.canopy-dashboard--loading,.canopy-dashboard--error{justify-content:center;align-items:center;gap:var(--spacing-md,16px);height:60vh;color:var(--color-text-muted,#888);text-align:center;flex-direction:column;display:flex}.canopy-loading-spinner{border:3px solid var(--color-border,#333);border-top-color:var(--color-primary,#6366f1);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite canopy-spin}@keyframes canopy-spin{to{transform:rotate(360deg)}}.canopy-header{justify-content:space-between;align-items:center;gap:var(--spacing-md,16px);flex-wrap:wrap;display:flex}.canopy-header__title{align-items:center;gap:var(--spacing-sm,12px);display:flex}.canopy-header__icon{color:var(--color-primary,#6366f1);font-size:32px}.canopy-header h1{font-family:var(--font-family-heading,"Inter", sans-serif);color:var(--color-text-primary,#fff);margin:0;font-size:1.5rem;font-weight:700}.canopy-header__subtitle{color:var(--color-text-muted,#888);margin:2px 0 0;font-size:.85rem}.canopy-header__actions{align-items:center;gap:var(--spacing-sm,12px);display:flex}.canopy-header__timestamp{color:var(--color-text-muted,#666);font-size:.8rem}.canopy-stats-grid{gap:var(--spacing-md,16px);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.canopy-stat-card{background:var(--color-surface,#1a1a2e);border:1px solid var(--color-border,#2a2a3e);padding:var(--spacing-lg,24px);border-radius:12px;flex-direction:column;gap:4px;display:flex;position:relative;overflow:hidden}.canopy-stat-card__value{font-family:var(--font-family-heading,"Inter", sans-serif);font-size:2.2rem;font-weight:800;line-height:1}.canopy-stat-card__label{color:var(--color-text-muted,#888);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.canopy-stat-card__icon{opacity:.3;font-size:24px;position:absolute;top:12px;right:12px}.canopy-stat-card--pending{border-left:3px solid #f59e0b}.canopy-stat-card--pending .canopy-stat-card__value{color:#f59e0b}.canopy-stat-card--processing{border-left:3px solid #3b82f6}.canopy-stat-card--processing .canopy-stat-card__value{color:#3b82f6}.canopy-stat-card--completed{border-left:3px solid #22c55e}.canopy-stat-card--completed .canopy-stat-card__value{color:#22c55e}.canopy-stat-card--failed{border-left:3px solid #ef4444}.canopy-stat-card--failed .canopy-stat-card__value{color:#ef4444}.canopy-section{background:var(--color-surface,#1a1a2e);border:1px solid var(--color-border,#2a2a3e);padding:var(--spacing-lg,24px);border-radius:12px}.canopy-section__title{align-items:center;gap:var(--spacing-xs,8px);font-family:var(--font-family-heading,"Inter", sans-serif);color:var(--color-text-primary,#fff);margin:0 0 var(--spacing-md,16px);font-size:1.1rem;font-weight:600;display:flex}.canopy-section__title .material-symbols-outlined{color:var(--color-primary,#6366f1);font-size:20px}.canopy-workers-grid{gap:var(--spacing-sm,12px);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.canopy-worker-card{align-items:center;gap:var(--spacing-sm,12px);padding:var(--spacing-sm,12px) var(--spacing-md,16px);background:var(--color-bg,#0f0f1a);border:1px solid var(--color-border,#2a2a3e);border-radius:8px;display:flex}.canopy-worker-card__status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.canopy-worker-card--online .canopy-worker-card__status-dot{background:#22c55e;box-shadow:0 0 6px #22c55e55}.canopy-worker-card--busy .canopy-worker-card__status-dot{background:#3b82f6;box-shadow:0 0 6px #3b82f655}.canopy-worker-card--offline .canopy-worker-card__status-dot{background:#6b7280}.canopy-worker-card__info{flex-direction:column;display:flex}.canopy-worker-card__info strong{color:var(--color-text-primary,#fff);font-size:.9rem}.canopy-worker-card__meta{color:var(--color-text-muted,#888);font-size:.75rem}.canopy-empty-state{align-items:center;gap:var(--spacing-xs,8px);padding:var(--spacing-xl,32px);color:var(--color-text-muted,#666);text-align:center;flex-direction:column;display:flex}.canopy-empty-state .material-symbols-outlined{opacity:.5;font-size:36px}.canopy-filter-bar{align-items:center;gap:var(--spacing-sm,12px);margin-bottom:var(--spacing-md,16px);flex-wrap:wrap;display:flex}.canopy-filter-label{color:var(--color-text-muted,#888);font-size:.85rem}.canopy-filter-buttons{gap:4px;display:flex}.canopy-filter-btn{border:1px solid var(--color-border,#2a2a3e);color:var(--color-text-secondary,#aaa);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;font-size:.8rem;transition:all .15s}.canopy-filter-btn:hover{background:var(--color-border,#2a2a3e);color:var(--color-text-primary,#fff)}.canopy-filter-btn--active{background:var(--color-primary,#6366f1);color:#fff;border-color:var(--color-primary,#6366f1)}.canopy-filter-count{color:var(--color-text-muted,#666);margin-left:auto;font-size:.8rem}.canopy-table-wrapper{overflow-x:auto}.canopy-table{border-collapse:collapse;width:100%;font-size:.85rem}.canopy-table thead th{text-align:left;padding:var(--spacing-xs,8px) var(--spacing-sm,12px);border-bottom:2px solid var(--color-border,#2a2a3e);color:var(--color-text-muted,#888);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-weight:600}.canopy-table thead th:hover{color:var(--color-text-primary,#fff)}.canopy-table__row td{padding:var(--spacing-xs,8px) var(--spacing-sm,12px);border-bottom:1px solid var(--color-border,#1a1a2e);color:var(--color-text-secondary,#ccc);vertical-align:middle}.canopy-table__row:hover td{background:var(--color-bg,#0f0f1a)}.canopy-table__id{color:var(--color-text-muted,#888);font-family:Roboto Mono,Fira Code,monospace;font-size:.8rem}.canopy-table__url{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.canopy-table__error{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--color-danger,#ef4444);font-size:.8rem;overflow:hidden}.canopy-table__date{white-space:nowrap;font-size:.8rem}.canopy-badge{white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.canopy-badge__icon{font-size:14px}.canopy-badge--pending{color:#f59e0b;background:#f59e0b22;border:1px solid #f59e0b33}.canopy-badge--processing{color:#3b82f6;background:#3b82f622;border:1px solid #3b82f633}.canopy-badge--completed{color:#22c55e;background:#22c55e22;border:1px solid #22c55e33}.canopy-badge--failed{color:#ef4444;background:#ef444422;border:1px solid #ef444433}.canopy-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.canopy-btn--sm{padding:4px 10px;font-size:.75rem}.canopy-btn--primary{background:var(--color-primary,#6366f1);color:#fff}.canopy-btn--primary:hover{background:#4f46e5}.canopy-btn--danger{color:#fff;background:#ef4444}.canopy-btn--danger:hover{background:#dc2626}.canopy-btn--ghost{color:var(--color-text-secondary,#ccc);border:1px solid var(--color-border,#2a2a3e);background:0 0}.canopy-btn--ghost:hover{background:var(--color-border,#2a2a3e);color:var(--color-text-primary,#fff)}.canopy-btn .material-symbols-outlined{font-size:18px}.canopy-batch-form-section{border-left:3px solid var(--color-primary,#6366f1)}.canopy-batch-form{gap:var(--spacing-md,16px);flex-direction:column;max-width:640px;display:flex}.canopy-batch-form__field{flex-direction:column;gap:4px;display:flex}.canopy-batch-form__field label{color:var(--color-text-secondary,#ccc);font-size:.85rem;font-weight:600}.canopy-batch-form__field input,.canopy-batch-form__field textarea{background:var(--color-bg,#0f0f1a);border:1px solid var(--color-border,#2a2a3e);color:var(--color-text-primary,#fff);border-radius:8px;padding:10px 12px;font-family:Roboto Mono,Fira Code,monospace;font-size:.85rem;transition:border-color .15s}.canopy-batch-form__field input:focus,.canopy-batch-form__field textarea:focus{border-color:var(--color-primary,#6366f1);outline:none;box-shadow:0 0 0 2px #6366f126}.canopy-batch-form__field input::placeholder,.canopy-batch-form__field textarea::placeholder{color:var(--color-text-muted,#555)}.canopy-batch-form__actions{gap:var(--spacing-xs,8px);display:flex}.canopy-batch-form__message{align-items:center;gap:var(--spacing-xs,8px);border-radius:8px;padding:10px 14px;font-size:.85rem;display:flex}.canopy-batch-form__message--error{color:#ef4444;background:#ef444418;border:1px solid #ef444433}.canopy-batch-form__message--success{color:#22c55e;background:#22c55e18;border:1px solid #22c55e33}.canopy-batch-form__message .material-symbols-outlined{font-size:18px}.canopy-retry-badge{color:#f59e0b;background:#f59e0b22;border:1px solid #f59e0b33;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:inline-flex}.canopy-table__time{white-space:nowrap;font-family:Roboto Mono,Fira Code,monospace;font-size:.8rem}.canopy-table__worker{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--color-text-muted,#888);font-size:.8rem;overflow:hidden}.canopy-table__retry{text-align:center}:root{--color-bg-base:#11161d;--color-bg-surface:#1a222c;--color-bg-elevated:#212c39;--glass-bg:#1a222ce0;--glass-border:#283341;--glass-blur:blur(16px);--color-text-primary:#fff;--color-text-secondary:#90a4be;--color-text-muted:#5e738b;--color-primary:#7ba2d5;--color-primary-container:#1d4ed8;--color-primary-glow:#7ba2d51f;--color-accent-1:#84cc16;--color-accent-2:#f59e0b;--color-accent-3:#ef4444;--shadow-card:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-ambient:0 10px 40px #0006;--sidebar-width:260px;--header-height:64px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--transition-fast:.15s ease;--transition-normal:.3s cubic-bezier(.16, 1, .3, 1);--font-family-primary:"Inter", system-ui, -apple-system, sans-serif;--font-family-heading:"Outfit", system-ui, -apple-system, sans-serif}html.light-theme{--color-bg-base:#f8fafc;--color-bg-surface:#fff;--color-bg-elevated:#f1f5f9;--glass-bg:#ffffffe0;--glass-border:#0f172a14;--glass-blur:blur(16px);--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-primary:#005995;--color-primary-container:#00508b;--color-primary-glow:#00599526;--color-accent-1:#059669;--color-accent-2:#d97706;--color-accent-3:#dc2626;--shadow-card:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-ambient:0 10px 15px #0000000d, 0 4px 6px #0000000a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-family-primary);background-color:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}.app-shell{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background-color:var(--color-bg-surface);border-right:1px solid var(--glass-border);z-index:1000;flex-direction:column;height:100vh;display:flex;overflow:hidden}.sidebar-brand{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--glass-border);flex-shrink:0;align-items:center;gap:10px;display:flex}.sidebar-brand-logo{flex-shrink:0;width:auto;height:36px}.sidebar-brand-text h1{font-family:var(--font-family-heading);color:var(--color-primary);letter-spacing:-.3px;font-size:1.3rem;font-weight:600;line-height:1}.sidebar-brand-text p{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:.62rem}.sidebar-nav{padding:var(--spacing-md) 0;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;flex:1;overflow-y:auto}.nav-section{margin-bottom:var(--spacing-sm)}.nav-section-label{letter-spacing:.1em;text-transform:uppercase;padding:0 var(--spacing-lg);margin-bottom:var(--spacing-xs);font-size:.68rem;font-weight:600;display:block}.nav-item{align-items:center;gap:var(--spacing-md);padding:9px var(--spacing-lg);color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:4px solid #0000;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.nav-item.active{background-color:var(--color-bg-elevated);color:var(--color-text-primary);border-left-color:var(--color-accent-1);font-weight:600}.nav-item .material-symbols-outlined{color:var(--color-primary);flex-shrink:0;font-size:20px}.nav-item.active .material-symbols-outlined{color:var(--color-accent-1)}.nav-badge{background-color:var(--color-accent-3);color:#fff;border-radius:10px;margin-left:auto;padding:2px 7px;font-size:.65rem;font-weight:700;box-shadow:0 0 6px #ef444480}.sidebar-user{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--glass-border);flex-shrink:0}.sidebar-user-info{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.sidebar-avatar{background:linear-gradient(135deg, var(--color-primary), #8b5cf6);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.sidebar-user-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.sidebar-user-email{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.sidebar-user-actions{justify-content:flex-end;gap:var(--spacing-xs);display:flex}.main-column{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{height:var(--header-height);min-height:var(--header-height);background-color:var(--color-bg-surface);border-bottom:1px solid var(--glass-border);padding:0 var(--spacing-xl);z-index:1000;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.topbar-breadcrumb{align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:.85rem;display:flex}.topbar-breadcrumb .material-symbols-outlined{color:var(--color-accent-1);font-size:16px}.topbar-breadcrumb-module{color:var(--color-text-primary);font-weight:600}.topbar-breadcrumb-sep{color:var(--color-text-muted);margin:0 2px}.topbar-breadcrumb-sub{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.topbar-customer{align-items:center;gap:var(--spacing-sm);display:flex;position:absolute;left:50%;transform:translate(-50%)}.topbar-customer-name{color:#ffffffd9;letter-spacing:.02em;font-size:.875rem;font-weight:600}.customer-switcher{pointer-events:auto;align-items:center;gap:6px;display:flex;position:relative}.customer-switcher__trigger{border-radius:var(--border-radius-md);cursor:pointer;color:#ffffffd9;font-size:.875rem;font-weight:600;font-family:var(--font-family-primary);transition:all var(--transition-fast);letter-spacing:.02em;background:#ffffff0a;border:1px solid #ffffff14;align-items:center;gap:6px;padding:5px 12px;display:flex}.customer-switcher__trigger:hover{background:#ffffff14;border-color:#ffffff29}.customer-switcher__trigger--impersonating{background:#f59e0b14;border-color:#f59e0b66}.customer-switcher__trigger--impersonating:hover{background:#f59e0b1f;border-color:#f59e0b99}.customer-switcher__viewing-badge{text-transform:uppercase;letter-spacing:.08em;color:#f59e0b;background:#f59e0b26;border-radius:4px;padding:1px 6px;font-size:.6rem;font-weight:700}.customer-switcher__name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.customer-switcher__icon{color:var(--color-text-muted);transition:color var(--transition-fast);font-size:18px!important}.customer-switcher__trigger:hover .customer-switcher__icon{color:var(--color-text-primary)}.customer-switcher__home-btn{color:#f59e0b;cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.customer-switcher__home-btn:hover{background:#f59e0b40;border-color:#f59e0b;transform:scale(1.08)}.customer-switcher__dropdown{background:var(--color-bg-surface);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);z-index:2000;flex-direction:column;width:300px;max-height:360px;animation:.15s ease-out cs-dropdown-in;display:flex;position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 48px #00000080,0 0 0 1px #ffffff0a}@keyframes cs-dropdown-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.customer-switcher__search-wrap{border-bottom:1px solid var(--glass-border);align-items:center;gap:8px;padding:10px 12px;display:flex}.customer-switcher__search{color:var(--color-text-primary);font-size:.85rem;font-family:var(--font-family-primary);background:0 0;border:none;outline:none;flex:1}.customer-switcher__search::placeholder{color:var(--color-text-muted)}.customer-switcher__list{scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;flex:1;padding:4px 0;overflow-y:auto}.customer-switcher__item{width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;font-family:var(--font-family-primary);transition:background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.customer-switcher__item:hover{background:var(--color-bg-elevated)}.customer-switcher__item--active{background:#84cc160f}.customer-switcher__item--active:hover{background:#84cc161a}.customer-switcher__item-info{flex-direction:column;gap:1px;min-width:0;display:flex}.customer-switcher__item-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex;overflow:hidden}.demo-badge{background:var(--color-accent-2,#3b82f6);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.customer-switcher__item-count{color:var(--color-text-muted);font-size:.7rem}.customer-switcher__empty{text-align:center;color:var(--color-text-muted);padding:20px 14px;font-size:.85rem}.topbar-module-toolbar{align-items:center;gap:8px;max-width:calc(100vw - 480px);display:flex;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.ir-topbar-inline{align-items:center;gap:8px;height:100%;display:flex}.ir-topbar__label{color:#ffffff73;white-space:nowrap;font-size:11px;font-weight:500}.ir-topbar__select{color:#e8e8e8;font-size:11px;font-family:var(--font-family-primary);cursor:pointer;background:#0f3460cc;border:1px solid #ffffff1a;border-radius:6px;padding:5px 9px}.ir-topbar__select:focus{border-color:var(--color-accent-1);outline:none}.ir-topbar__divider{background:#ffffff1f;flex-shrink:0;width:1px;height:22px}.topbar-actions{align-items:center;gap:var(--spacing-sm);display:flex}.topbar-lang-selector{background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:2px;margin-right:4px;padding:2px 6px;display:flex}.topbar-lang-btn{color:#ffffff73;letter-spacing:.06em;cursor:pointer;min-height:24px;font-size:11px;font-weight:700;font-family:var(--font-family-primary);background:0 0;border:none;border-radius:4px;padding:2px 5px;transition:color .15s,background .15s}.topbar-lang-btn:hover{color:#fffc}.topbar-lang-btn.active{color:#fff;background:#ffffff24}.topbar-lang-divider{color:#fff3;font-size:10px;line-height:1}.health-pill{border-radius:var(--border-radius-lg);transition:all var(--transition-normal);border:1px solid #0000;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:500;display:flex}.health-pill.online{color:#22c55e;background:#22c55e0f;border-color:#22c55e40}.health-pill.offline{color:var(--color-accent-3);background:#ef44440f;border-color:#ef444440}.health-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.health-pill.online .health-dot{background:#22c55e;box-shadow:0 0 6px #22c55eb3}.health-pill.offline .health-dot{background:var(--color-accent-3);box-shadow:0 0 6px #ef4444b3}.icon-btn{color:var(--color-text-secondary);cursor:pointer;width:36px;height:36px;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.icon-btn .material-symbols-outlined{font-size:22px}.main-panel{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.module-error{justify-content:center;align-items:center;gap:var(--spacing-md);height:100%;color:var(--color-text-muted);flex-direction:column;display:flex}.module-error .material-symbols-outlined{color:var(--color-accent-3);font-size:48px}.btn{align-items:center;gap:var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--glass-border);background:var(--color-bg-elevated);color:var(--color-text-primary);padding:9px 18px;font-size:.875rem;font-weight:500;display:inline-flex}.btn:hover{background:var(--glass-bg)}.btn.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-container));color:#fff;box-shadow:0 2px 8px var(--color-primary-glow);border-color:#0000}.btn.btn-primary:hover{box-shadow:0 4px 16px var(--color-primary-glow);transform:translateY(-1px)}.btn.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn .material-symbols-outlined{font-size:18px}.card{background:var(--color-bg-surface);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-card)}.sidebar{white-space:nowrap;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),border-color .3s}.app-shell.sidebar-collapsed .sidebar{opacity:0!important;pointer-events:none!important;border-right-color:#0000!important;width:0!important;min-width:0!important}.nav-item--inactive{opacity:.45;cursor:not-allowed!important}.nav-item--inactive:hover{color:var(--color-text-secondary)!important;background-color:#0000!important}.nav-item-lock{color:var(--color-text-muted);opacity:.6;font-size:16px}.icon-btn.active{background-color:var(--color-bg-elevated);color:var(--color-accent-1)!important}.app-shell.in-map-agent .sidebar{border-right:1px solid #ffffff14;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1),opacity .25s ease-in-out;position:absolute;top:0;bottom:0;left:0;z-index:1100!important;background-color:var(--color-bg-surface)!important;opacity:.5!important}.app-shell.in-map-agent .sidebar:hover,.app-shell.in-map-agent .sidebar:focus-within{opacity:1!important}.app-shell.in-map-agent .main-column{width:100vw;height:100vh}.app-shell.in-map-agent:not(.sidebar-collapsed) .topbar{padding-left:280px;transition:padding-left .3s cubic-bezier(.4,0,.2,1)}.app-shell.in-map-agent.sidebar-collapsed .topbar{padding-left:24px;transition:padding-left .3s cubic-bezier(.4,0,.2,1)}.sidebar-brand{padding:20px 12px 16px 20px!important}.collapse-btn{width:32px;height:32px;color:var(--color-text-secondary);background-color:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex!important}.collapse-btn:hover{background-color:var(--color-bg-elevated)!important;color:var(--color-text-primary)!important;border-color:#ffffff40!important}.sidebar-float-tab{left:var(--sidebar-width);z-index:1200;background:var(--color-bg-surface);border:1px solid var(--glass-border);cursor:pointer;width:18px;height:56px;color:var(--color-text-secondary);border-left:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;padding:0;transition:left .3s cubic-bezier(.4,0,.2,1),background .15s,color .15s,box-shadow .15s;display:flex;position:fixed;top:50%;transform:translateY(-50%);box-shadow:4px 0 12px #00000059}.sidebar-float-tab:hover{background:var(--color-bg-elevated);color:var(--color-text-primary);width:24px;box-shadow:6px 0 18px #00000080}.sidebar-float-tab .material-symbols-outlined{flex-shrink:0;font-size:14px}.app-shell.sidebar-collapsed .sidebar-float-tab{border-left:1px solid var(--glass-border);border-radius:0 8px 8px 0;left:0}.app-shell.in-map-agent .sidebar-float-tab{z-index:1200}.nav-item--flash{animation:.9s ease-in-out 2 nav-item-activate}@keyframes nav-item-activate{0%,to{box-shadow:none;background:0 0}50%{color:#9acc57;background:#9acc5738;box-shadow:0 0 18px #9acc5759}}@media (prefers-reduced-motion:reduce){.nav-item--flash{background:#9acc572e;animation:none}}
