/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-stone-200{border-color:var(--color-stone-200)}.bg-emerald-800{background-color:var(--color-emerald-800)}.bg-white{background-color:var(--color-white)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-stone-600{color:var(--color-stone-600)}.text-stone-700{color:var(--color-stone-700)}.text-white{color:var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-emerald-900:hover{background-color:var(--color-emerald-900)}.hover\:bg-stone-50:hover{background-color:var(--color-stone-50)}.hover\:bg-stone-100:hover{background-color:var(--color-stone-100)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-emerald-600:focus-visible{outline-color:var(--color-emerald-600)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}}.worker-indicator{color:#71816c;white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:inline-flex}.worker-indicator.busy{color:#1d7654}@media (max-width:700px){.worker-indicator span{display:none}}.image-error{color:#6a7c60;text-align:center;flex-direction:column;align-items:center;gap:12px;padding:25px;font-size:12px;display:flex}:root{--background:#f7f8f5;--foreground:#202d27;--primary:#1d654e;--border:#e3e7df;--muted:#7a827b;color:var(--foreground);background:var(--background);font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{touch-action:manipulation}button:disabled{cursor:default}input,select,textarea{min-width:0}a:focus-visible,button:focus-visible{outline-offset:3px;outline:2px solid #288466}.brand{letter-spacing:-1.6px;align-items:center;gap:11px;font-size:31px;font-weight:800;display:flex}.brand-icon{color:#fff;background:#1e634d;border-radius:11px;place-items:center;width:39px;height:41px;display:grid}.brand-dot{color:#73a88b}.eyebrow{letter-spacing:2px;color:#6b8071;font-size:10px;font-weight:700;display:block}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);z-index:40;background:#fff;flex-direction:column;width:240px;padding:31px 22px 0;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{padding-left:9px}.sidebar-label{letter-spacing:1.8px;color:#9ba297;margin:51px 14px 15px;font-size:9px;font-weight:700}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav button{text-align:left;color:#7b837c;background:0 0;border:0;border-radius:7px;align-items:center;gap:13px;height:46px;padding:0 15px;font-size:13px;font-weight:600;display:flex}.sidebar nav button.active{color:#28644e;background:#eaf1e8}.sidebar nav button:hover{background:#f4f6f2}.nav-dot{background:#377c5e;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto}.privacy-note{color:#7d8a7d;gap:9px;margin:30px 8px 24px;display:flex}.privacy-note strong{font-size:10px;font-weight:600}.privacy-note p{color:#9aa196;margin:5px 0 0;font-size:11px;line-height:1.6}.account{border-top:1px solid var(--border);align-items:center;gap:9px;padding:21px 0;display:flex}.avatar,.header-avatar{color:#45634d;background:#ecf0e8;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.account>div{flex:1;min-width:0}.account strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.account small{color:#8d968b;margin-top:4px;font-size:10px;display:block}.account button{color:#8c958b;background:0 0;border:0;padding:4px}.workspace{width:calc(100% - 240px);margin-left:240px}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;height:74px;padding:0 43px}.breadcrumb,.topbar{align-items:center;display:flex}.breadcrumb{color:#8b9289;gap:17px;font-size:11px}.breadcrumb strong{color:#49554b;font-weight:500}.slash{color:#c5cbc0}.topbar-right{gap:28px}.manual-mode,.topbar-right{align-items:center;display:flex}.manual-mode{color:#7b8779;gap:7px;font-size:10px}.manual-mode>span{background:#6b9772;border-radius:50%;width:6px;height:6px}.main{max-width:1540px;margin:0 auto;padding:37px 43px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.page-heading h1{letter-spacing:-1px;margin:8px 0;font-size:30px;font-weight:600;line-height:1.25}.page-heading p{color:#8b9288;margin:0;font-size:12px}.heading-actions{align-items:center;gap:10px;display:flex}.selection-bar{border:1px solid var(--border);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:16px 21px;display:flex}.selection-bar>div{align-items:center;gap:15px;display:flex}.container-symbol{color:#657c5c;background:#f1f4ed;border-radius:9px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.selection-label{letter-spacing:1.6px;color:#8f9b8b;margin-bottom:3px;font-size:8px;font-weight:600;display:block}.select-wrap{align-items:center;display:flex;position:relative}.select-wrap select{appearance:none;color:#2d3c31;background:0 0;border:0;max-width:280px;padding:0 28px 0 0;font-size:13px;font-weight:600}.select-wrap>svg{pointer-events:none;color:#8b9584;position:absolute;right:0}.selection-divider{background:#e7ebe2;width:1px;height:29px;margin:0 5px 0 10px}.site-name{color:#6c7868;font-size:11px}.site-name small{color:#a0a799;margin-top:5px;font-size:10px;display:block}.badge{white-space:nowrap;color:#8a9681;background:#f8f9f5;border:1px solid #e5e9e1;border-radius:20px;align-items:center;gap:6px;padding:5px 9px;font-size:9px;font-weight:500;display:inline-flex}.badge>span{background:currentColor;border-radius:50%;width:4px;height:4px}.badge.green{color:#4b845f;background:#edf5ed;border-color:#e1ecdf}.badge.amber{color:#a67b2b;background:#fcf6e9;border-color:#f0e5c9}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:25px;display:grid}.kpi{border:1px solid var(--border);background:#fff;border-radius:10px;min-height:162px;padding:20px 20px 18px}.kpi-label{color:#7e897a;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.kpi-label svg{color:#89997d}.kpi-value{letter-spacing:-1.5px;font-variant-numeric:tabular-nums;margin:18px 0 14px;font-size:37px;font-weight:500;line-height:1.15}.kpi-value>span{letter-spacing:0;color:#99a091;margin-left:7px;font-size:16px;font-weight:400}.kpi small{color:#a0a698;font-size:9px}.kpi-primary{color:#fff;background:#1e5948;border-color:#1e5948}.kpi-primary .kpi-label,.kpi-primary .kpi-label svg{color:#c2d5c8}.kpi-primary .kpi-value{margin:14px 0 10px}.kpi-primary .kpi-value>span{color:#a4c1b0}.kpi-primary small{color:#95b6a2}.level-track{background:#e9eee4;border-radius:8px;height:4px;margin-bottom:8px;overflow:hidden}.level-track>span{background:#4d9067;border-radius:8px;height:100%;display:block}.kpi-primary .level-track{background:#39745b}.kpi-primary .level-track>span{background:#b7d09a}.dashboard-columns{grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:23px;margin-bottom:25px;display:grid}.panel{border:1px solid var(--border);background:#fff;border-radius:11px;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:15px;padding:22px 23px;display:flex}.panel h2{letter-spacing:-.2px;margin:0;font-size:13px;font-weight:600}.panel-head p{color:#a0a797;margin:7px 0 0;font-size:10px}.camera-image{background:#e9ece4;border-radius:7px;justify-content:center;align-items:center;height:270px;margin:0 20px;display:flex;position:relative;overflow:hidden}.camera-image img{object-fit:contain;width:100%;height:100%}.image-stamp{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#27382dbb;border:1px solid #ffffff24;border-radius:5px;gap:7px;padding:7px 10px;position:absolute;bottom:12px;left:12px}.image-details,.image-stamp{align-items:center;font-size:9px;display:flex}.image-details{color:#99a18f;justify-content:space-between;padding:13px 22px}.image-details>span:first-child{align-items:center;gap:5px;display:flex}.panel-bottom{color:#a0a996;border-top:1px solid #edf0e8;justify-content:space-between;align-items:center;min-height:53px;padding:10px 21px;font-size:9px;display:flex}.panel-bottom>span{align-items:center;gap:6px;display:flex}.round-icon{color:#8ca17b;background:#f3f5f0;border:1px solid #e7ebdf;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.measure-panel{flex-direction:column;padding:0 23px 20px;display:flex}.measure-panel .panel-head{padding:22px 0 16px}.measurement-display{text-align:center;padding:14px 0 21px}.measurement-display>span{letter-spacing:1.5px;color:#a0a996;font-size:8px}.measurement-display strong{letter-spacing:-3px;color:#3f5d46;margin-top:7px;font-size:64px;font-weight:500;line-height:1.3;display:block}.measurement-display strong small{color:#b0baa7;letter-spacing:-1px;margin-left:5px;font-size:26px}.measurement-display p{color:#a0a996;margin:4px 0;font-size:9px}.measurement-context{background:#f7f8f4;border:1px solid #edf0e6;border-radius:7px;margin-bottom:19px;padding:13px}.measurement-context>div{justify-content:space-between;gap:10px;margin:7px 0;font-size:9px;display:flex}.measurement-context span{color:#99a38f}.measurement-context strong{color:#677d5d;font-weight:500}.measurement-help{color:#a8af9f;align-items:flex-start;gap:7px;margin:13px 0 0;font-size:9px;line-height:1.6;display:flex}.measurement-help svg{flex-shrink:0;margin-top:1px}.read-only{color:#84927e;background:#f3f5ef;border-radius:7px;align-items:center;gap:8px;padding:12px;font-size:11px;display:flex}.history-panel{margin-bottom:24px}.period-select{color:#69795f;background:#fff;border:1px solid #e3e8db;border-radius:6px;min-width:100px;padding:7px 27px 7px 10px;font-size:10px}.chart{height:240px;padding:5px 20px 0 15px}.chart-footer{color:#a3ac98;justify-content:space-between;padding:18px 23px;font-size:9px;display:flex}.chart-footer>span{align-items:center;gap:7px;display:flex}.chart-footer i{background:#398366;border-radius:50%;width:7px;height:7px;display:inline-block}.chart-loading{color:#8b9980;gap:10px;height:240px;font-size:12px}.chart-loading,.empty{justify-content:center;align-items:center;display:flex}.empty{text-align:center;flex-direction:column;min-height:255px;padding:42px 25px}.empty-icon{color:#8ca27c;background:#f1f4eb;border-radius:15px;place-items:center;width:55px;height:55px;margin-bottom:18px;display:grid}.empty h3{margin:0 0 11px;font-size:15px;font-weight:500}.empty p{color:#9aa58d;max-width:380px;margin:0 0 20px;font-size:11px;line-height:1.8}.camera-panel .empty{min-height:310px}.footer{color:#a3ab9a;justify-content:space-between;gap:15px;margin-top:35px;padding:6px 0 25px;font-size:9px;display:flex}.footer>span:first-child{letter-spacing:-.2px;font-size:11px;font-weight:600}.footer-separator{color:#d0d6c8;margin:0 10px;font-weight:400}.footer>span:last-child{font-size:9px}.container-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.container-card{padding:23px}.container-card-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.container-card h2{font-size:17px}.container-card>p{color:#9ba58f;margin:8px 0 20px;font-size:11px}.container-card-value{letter-spacing:-1px;align-items:baseline;gap:5px;margin-bottom:15px;font-size:39px;font-weight:500;display:flex}.container-card-value small{color:#9daa8f;font-size:17px}.container-card-value span{color:#8b9a7f;letter-spacing:0;margin-left:auto;font-size:12px}.container-description{color:#95a087;min-height:47px;margin:16px 0;font-size:11px;line-height:1.7}.card-camera{color:#8c9b7e;border-top:1px solid #eef1e8;align-items:center;gap:7px;padding:12px 0;font-size:10px;display:flex}.container-actions{justify-content:space-between;align-items:center;gap:5px;margin-top:10px;display:flex}.system-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.system-kpi{color:#88a079;align-items:center;gap:13px;padding:20px;display:flex}.system-kpi div{flex:1}.system-kpi span{color:#9ca98f;font-size:10px;display:block}.system-kpi strong{color:#59704d;margin-top:7px;font-size:12px;font-weight:500;display:block}.system-kpi .badge{font-size:9px;display:inline-flex}.system-overview~.panel{margin-bottom:24px}.connection-list{padding:0 22px 8px}.connection-row{border-top:1px solid #edf0e7;align-items:center;gap:13px;padding:16px 0;display:flex}.connection-icon{color:#89a174;background:#f1f5eb;border-radius:8px;place-items:center;width:37px;height:40px;display:grid}.connection-row>div{flex:1;min-width:0}.connection-row h3{margin:0 0 7px;font-size:12px}.connection-row p{color:#98a58a;overflow-wrap:anywhere;margin:0;font-size:10px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}th{letter-spacing:.3px;text-transform:uppercase;color:#9ba88d;white-space:nowrap;background:#fafbf7;border-bottom:1px solid #e9eee1;padding:14px 22px;font-size:9px;font-weight:500}td{color:#89997b;border-bottom:1px solid #eff2e8;padding:17px 22px}td strong{color:#536c47;font-size:11px;font-weight:500}tbody tr:last-child td{border:0}.you-label{color:#99a78b;background:#f2f6ea;border-radius:4px;margin-left:10px;padding:4px 6px;font-size:8px}.table-error{white-space:normal;color:#a18a56;max-width:230px;font-size:9px;line-height:1.5}.error-notice{color:#a13f2e;background:#fff6f2;border:1px solid #e6bdb4;border-radius:7px;margin-bottom:16px;padding:13px 17px;font-size:12px;line-height:1.5}.dismissible{position:relative}.dismissible .error-notice{padding-right:45px}.dismissible>button{color:#a13f2e;background:0 0;border:0;position:absolute;top:14px;right:12px}.success-notice{color:#5f8550;background:#f1f8ee;border:1px solid #d4e6cd;border-radius:7px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 17px;font-size:12px;display:flex}.success-notice button{color:inherit;background:0 0;border:0;margin-left:auto}.modal{width:540px;max-width:min(540px,100vw - 32px);max-height:90vh;color:var(--foreground);background:#fff;border:1px solid #dde5d6;border-radius:14px;padding:0;box-shadow:0 30px 100px #17291530}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#18241cb0}.modal-head{border-bottom:1px solid #edf0e6;justify-content:space-between;align-items:center;gap:15px;padding:18px 24px;display:flex}.modal h2{letter-spacing:-.4px;margin:0;font-size:18px;font-weight:600}.modal-body{max-height:calc(90vh - 155px);padding:24px;overflow-y:auto}.modal-actions{background:#fafbf7;border-top:1px solid #edf0e6;justify-content:flex-end;gap:10px;padding:17px 24px;display:flex}.field{color:#687a5c;flex-direction:column;gap:8px;margin-bottom:18px;font-size:11px;font-weight:600;display:flex}.field input,.field select,.field textarea{color:#324a27;background:#fff;border:1px solid #dce4d3;border-radius:7px;outline:none;width:100%;padding:11px 12px;font-size:13px;font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7eaa65;box-shadow:0 0 0 3px #c6ddaf35}.field input::placeholder{color:#b1bba8}.field small{color:#9aa98a;font-size:10px;font-weight:400;line-height:1.6}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.inset{background:#f7f9f2;border-radius:7px;margin-bottom:18px;padding:16px}.inset .field:last-child{margin-bottom:0}.check-field{color:#7c906c;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;display:flex}.check-field input{accent-color:#276343}.hint{color:#99a98a;margin:8px 0 18px;font-size:11px;line-height:1.7}.manual-image{object-fit:contain;background:#edf0e6;border-radius:7px;width:100%;height:210px}.login{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-intro{color:#fff;background:#1b4b3c;flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px 65px;display:flex;position:relative;overflow:hidden}.login-intro:after{content:"";pointer-events:none;border:1px solid #ffffff0b;border-radius:50%;width:450px;height:450px;position:absolute;bottom:-130px;right:-180px;box-shadow:0 0 0 70px #ffffff04,0 0 0 140px #ffffff03}.login-intro .brand-icon{background:#36745a}.login-intro .brand-dot{color:#b5c995}.light{color:#a4bea2}.login-intro h1{letter-spacing:-3px;margin:28px 0;font-size:clamp(40px,4.8vw,72px);font-weight:500;line-height:1.1}.login-intro em{color:#b8d29d;font-style:normal}.login-intro p{color:#abc1ad;font-size:14px;line-height:1.9}.login-foot{color:#91b09a;align-items:center;gap:8px;font-size:10px;display:flex}.source-link{color:inherit;margin-left:6px}.login-form{background:#fcfdf9;justify-content:center;align-items:center;padding:50px;display:flex}.login-form form{width:350px;max-width:100%}.login-form h2{letter-spacing:-1px;margin:12px 0;font-size:29px;font-weight:600}.login-form form>p{color:#99a78e;margin-bottom:33px;font-size:12px;line-height:1.8}.login-form form>small{text-align:center;color:#aab59d;margin-top:25px;font-size:10px;line-height:1.8;display:block}.boot{color:#72945e;flex-direction:column;justify-content:center;align-items:center;gap:30px;height:100vh;display:flex}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.mobile-menu{color:#6b8159;background:0 0;border:0;display:none}.sidebar-backdrop{display:none}@media (min-width:1500px){.camera-image{height:310px}.measurement-display{padding:22px 0 29px}.measurement-context{margin-bottom:25px}.chart{height:270px}}@media (max-width:1180px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.workspace{width:calc(100% - 205px);margin-left:205px}.main{padding:30px 25px 0}.topbar{padding:0 25px}.kpi{padding:17px 15px}.kpi-value{font-size:30px}.kpi-label{font-size:10px}.kpi small{font-size:8px}.dashboard-columns{grid-template-columns:minmax(0,1.3fr) minmax(270px,1fr);gap:17px}.panel-head{padding:19px}.panel h2{font-size:12px}.measure-panel{padding-left:18px;padding-right:18px}.measurement-context>div{font-size:8px}.system-overview{grid-template-columns:1fr}.system-kpi{padding:17px}.system-kpi div{justify-content:space-between;align-items:center;gap:16px;display:flex}.system-kpi strong{margin-top:0}.camera-image{height:260px}.selection-bar{padding:15px}.selection-divider,.site-name{display:none}.login-intro{padding:40px}.login-intro h1{letter-spacing:-2px}.chart{height:220px}}@media (max-width:950px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.kpi{min-height:150px}.dashboard-columns{grid-template-columns:1fr}.camera-image{height:310px}.measure-panel{padding-bottom:22px}.measurement-display{padding:5px 0 15px}.measurement-context>div{font-size:10px}.measurement-display strong{font-size:54px}.panel h2{font-size:14px}.selection-bar{margin-bottom:18px}.page-heading h1{font-size:27px}.heading-actions>button:not([aria-label]){padding-left:11px;padding-right:11px;font-size:11px}.connection-row{flex-wrap:wrap}.connection-row>div{min-width:160px}}@media (max-width:700px){.sidebar{width:235px;transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{z-index:35;background:#10221470;border:0;display:block;position:fixed;inset:0}.workspace{width:100%;margin-left:0}.mobile-menu{display:block}.topbar{height:63px;padding:0 20px}.breadcrumb{gap:10px;font-size:10px}.topbar-right{gap:12px}.manual-mode{display:none}.header-avatar{width:29px;height:29px}.main{padding:27px 18px 0}.page-heading{align-items:flex-start;margin-bottom:23px}.page-heading h1{font-size:25px}.page-heading p{max-width:230px;font-size:11px;line-height:1.7}.eyebrow{letter-spacing:1.6px;font-size:8px}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:150px;margin-top:6px}.heading-actions button{height:34px}.selection-bar{gap:10px;padding:13px}.selection-bar>div{gap:10px}.select-wrap select{max-width:160px;font-size:12px}.container-symbol{width:34px;height:36px}.selection-label{font-size:7px}.selection-bar .badge{padding:5px 7px;font-size:8px}.kpi-grid{gap:10px}.kpi{min-height:146px;padding:16px 14px}.kpi-value{font-size:32px}.kpi-value>span{font-size:14px}.kpi-label{font-size:10px}.kpi small{font-size:8px}.dashboard-columns{gap:18px;margin-bottom:18px}.panel-head{padding:19px 17px}.panel-head p{font-size:9px;line-height:1.6}.camera-image{height:230px;margin:0 14px}.image-details{padding:11px 15px;font-size:8px}.image-stamp{padding:6px 8px;font-size:8px;bottom:9px;left:9px}.panel-bottom{padding:9px 14px;font-size:8px}.chart{height:210px;padding-right:10px}.chart-footer{padding:15px;font-size:8px}.chart-footer span:last-child{text-align:right;max-width:140px;line-height:1.6}.footer{flex-direction:column;gap:10px;margin-top:25px}.container-grid{grid-template-columns:1fr}.connection-row>.badge{display:none}.table-panel .panel-head{align-items:flex-start}.table-panel .panel-head>.badge{font-size:8px}.table-panel td,.table-panel th{padding:13px 16px}.login{flex-direction:column;display:flex}.login-intro{gap:25px;min-height:245px;padding:28px}.login-intro .brand{font-size:26px}.login-intro>div:nth-child(2){display:none}.login-foot{font-size:9px}.login-form{flex:1;padding:40px 28px}.login-form h2{font-size:27px}.empty{padding:35px 20px}.empty p{font-size:11px}.modal-body{padding:20px}.modal-head{padding:14px 20px}.modal-actions{padding:15px 20px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.operations-panel{margin-bottom:24px}.operations-form{padding:0 24px 24px}.operations-message{color:var(--muted);padding:24px}.operations-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.operations-panel>.operations-actions{padding:20px 24px}.operations-selector{margin:24px 0 12px}.operations-selector select{margin-left:12px}.rate-secondary{color:#237c60;margin:4px 0 12px;font-size:14px}.rate-pending{gap:8px;margin-top:24px;font-size:14px}.level-status,.rate-pending{align-items:center;display:flex}.level-status{color:#275f48;background:#edf5ef;border-radius:8px;flex-wrap:wrap;gap:12px;margin:-8px 0 24px;padding:10px 16px;font-size:13px}.level-status.severity-1{color:#866018;background:#fff5de}.level-status.severity-2{color:#a53b30;background:#fff0ed}.event-list{max-height:420px;padding:0 24px 20px;overflow-y:auto}.event-list>div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-size:13px;display:flex}.event-list small{color:#697366;margin-top:4px;display:block}.notification{border-top:1px solid var(--border);padding:20px 24px}.notification.unread{background:#f7faf5;border-left:3px solid #237c60}.notification>div{align-items:center;gap:12px;display:flex}.notification p{margin:10px 0;font-size:14px}.notification small{color:#697366;margin-bottom:12px;display:block}.notification .delivery{overflow-wrap:anywhere;font-size:12px}@media (max-width:600px){.kpi-grid{grid-template-columns:1fr}.event-list>div{flex-direction:column;align-items:flex-start}.operations-form{padding:0 16px 16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}.training-selection{justify-content:space-between;gap:20px;margin-bottom:22px;color:#75836b}.training-selection,.training-selection label{display:flex;align-items:center;font-size:11px}.training-selection label{gap:14px;font-weight:600}.training-selection select{padding:11px 15px;border:1px solid #dce4d3;border-radius:7px;background:white;color:#354e2d;max-width:100%}.training-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:23px}.training-summary>div{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px}.training-summary strong{font-size:27px;font-weight:500;letter-spacing:-.7px;display:block;margin-bottom:8px;color:#2e624a}.training-summary span{font-size:10px;color:#87967b;line-height:1.6;display:block}.training-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.training-card{margin-bottom:24px}.training-card .panel-head>svg{color:#8fa47c;flex-shrink:0}.training-body{padding:0 23px 23px}.training-body input[type=file]{font-size:11px;padding:18px 12px;border-style:dashed;background:#fafcf6;line-height:1.8}.training-body input[type=file]::file-selector-button{border:0;border-radius:5px;background:#edf3e5;color:#4c6b3b;padding:7px 10px;margin-right:10px;cursor:pointer}.roi-stage{position:relative;width:100%;background:#e9eee2;border-radius:7px;overflow:hidden;cursor:crosshair;touch-action:none;user-select:none}.roi-stage img{display:block;height:auto}.roi-stage img,.roi-stage svg{width:100%;pointer-events:none}.roi-stage svg{position:absolute;inset:0;height:100%}.roi-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.roi-fields .field{font-size:9px;margin-bottom:13px}.roi-fields .field input{padding:8px;font-size:11px}.training-config{border-top:1px solid #e8eddf;margin-top:19px;padding-top:20px}.training-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;min-height:170px;padding:35px;color:#84967a}.training-empty p{font-size:12px;line-height:1.8;max-width:500px;margin:0}.training-label-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;padding:0 23px 23px;align-items:start}.sample-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px}.sample-card{border:1px solid #e1e8d8;background:#fff;border-radius:8px;padding:5px;text-align:left;overflow:hidden;min-width:0;transition:border-color .15s,background .15s}.sample-card:hover{border-color:#98b17b}.sample-card.selected{border:2px solid #2b7452;padding:4px;background:#f1f7e9}.sample-card img{width:100%;height:95px;object-fit:cover;background:#eef2e6;display:block;border-radius:4px;margin-bottom:8px}.sample-card>span{font-size:9px;color:#768769;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;padding:0 5px}.sample-card strong{font-size:13px;font-weight:600;color:#405c31;display:block;padding:5px 5px 3px}.sample-card small{font-size:8px;color:#94a284;display:block;padding:0 5px 7px}.sample-editor{padding:17px;background:#f6f9ef;border:1px solid #e3ead8;border-radius:8px}.sample-editor>img{width:100%;max-height:180px;object-fit:contain;background:#e9eedf;border-radius:5px}.sample-editor h3{font-size:11px;font-weight:600;overflow-wrap:anywhere;margin:13px 0 18px}.sample-editor .field input,.sample-editor .field select{font-size:12px;padding:9px 10px}.training-actions{display:flex;gap:9px;flex-wrap:wrap}.training-actions button:first-child{flex:1;font-size:11px}.training-pagination{display:flex;align-items:center;justify-content:center;gap:20px;padding:15px 23px;border-top:1px solid #e8eedf;font-size:10px;color:#8c9b7f}.training-job-form{display:flex;align-items:flex-end;gap:17px;padding:0 23px 23px}.training-job-form>.field{flex:1;margin-bottom:0}.training-job-form>button{margin-bottom:1px;flex-shrink:0}.training-models{padding:0 23px 15px}.model-card{justify-content:space-between;gap:15px;border-top:1px solid #e7eddd;padding:19px 0}.model-card,.model-card h3{display:flex;align-items:center}.model-card h3{font-size:12px;font-weight:600;margin:0 0 9px;gap:10px;flex-wrap:wrap}.model-card p{font-size:10px;color:#899a78;margin:6px 0;line-height:1.7}.model-card>div:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.model-card>div:last-child{flex-shrink:0}.analysis-list{padding:0 23px}.analysis-row{border-top:1px solid #e8eddf;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}.analysis-row strong{font-size:24px;font-weight:500;letter-spacing:-.6px;color:#395c2c;margin-right:15px}.analysis-row span{font-size:10px;color:#8f9f7e}.analysis-row p{font-size:10px;color:#8a9a78;line-height:1.7;margin:7px 0;max-width:600px}.analysis-row form{display:flex;align-items:flex-end;gap:10px;flex-shrink:0}.analysis-row label{font-size:9px;color:#799164;display:flex;flex-direction:column;gap:7px}.analysis-row input{border:1px solid #dbe6cd;border-radius:6px;background:white;color:#3e5d2c;padding:8px;max-width:100px;font-size:12px}.pending-analysis{background:#fff8e9;border:1px solid #eee0bb;border-radius:7px;padding:12px;margin-bottom:16px;color:#8c763e;font-size:10px}.pending-analysis strong{font-size:12px;font-weight:500}.pending-analysis p{font-size:10px;line-height:1.6;margin:7px 0 12px}@media (max-width:1100px){.training-columns{grid-template-columns:1fr}.training-label-layout{grid-template-columns:minmax(0,1fr) 240px}.training-job-form{flex-wrap:wrap}.training-job-form>button{width:100%}.analysis-row,.training-selection{align-items:flex-start;flex-direction:column;gap:10px}}@media (max-width:700px){.training-summary{gap:9px}.training-summary>div{padding:14px 10px}.training-summary strong{font-size:21px}.training-summary span{font-size:8px}.training-body{padding:0 16px 18px}.training-label-layout{grid-template-columns:1fr;padding:0 16px 18px}.sample-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sample-card img{height:75px}.sample-editor{grid-row:1}.sample-editor>img{max-height:230px}.training-selection label{flex-direction:column;align-items:flex-start;width:100%;gap:8px}.training-selection select{width:100%}.training-selection>span{font-size:9px}.training-job-form{padding:0 16px 18px;gap:12px}.training-job-form>.field{min-width:130px}.model-card{align-items:flex-start;flex-direction:column}.analysis-list,.training-models{padding-left:16px;padding-right:16px}.roi-fields{gap:6px}.roi-fields .field{font-size:8px}.training-card .panel-head p{font-size:9px}}.learning-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;border:1px solid var(--border);background:#f2f7ed;border-radius:10px;margin-bottom:22px}.learning-header strong{color:#345b2f;font-size:15px}.learning-header p{font-size:12px;margin:8px 0}.learning-header small{color:#6a7d5c;font-size:11px}.learning-toggle{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px}.learning-toggle input{appearance:none;width:42px;height:24px;border-radius:20px;background:#abb6a2;position:relative;cursor:pointer;flex-shrink:0}.learning-toggle input:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:white;top:3px;left:3px;transition:transform .15s}.learning-toggle input:checked{background:#237c60}.learning-toggle input:checked:after{transform:translateX(18px)}.learning-toggle input:focus-visible{outline:2px solid #237c60;outline-offset:3px}.training-dropzone{border:2px dashed #c7d8b5;border-radius:8px;padding:16px;margin-bottom:18px;background:#fafcf6}.training-dropzone.dragging{background:#e6f2dc;border-color:#237c60}.training-dropzone>p{display:flex;gap:8px;align-items:center;font-size:12px;margin:0 0 12px}.training-dropzone>span{font-size:11px;color:#617b50}.polygon-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.polygon-points>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:#f4f8ed;padding:8px;border-radius:6px}.polygon-points span{font-size:10px;width:100%}.polygon-points label{font-size:9px;flex:1;min-width:45px}.polygon-points input{width:100%;border:1px solid #dbe6cd;border-radius:4px;padding:5px;font-size:11px}.reference-thumb{position:relative;border:1px solid #dbe6cd;border-radius:7px;overflow:hidden;flex-shrink:0;background:#edf3e5;cursor:zoom-in;width:126px}.reference-thumb img{display:block;width:100%;height:90px;object-fit:cover}.reference-thumb>svg{position:absolute;right:5px;bottom:5px;padding:2px;background:white;border-radius:3px;color:#237c60}.reference-thumb.sample-reference{width:100%}.reference-thumb.sample-reference img{height:180px;object-fit:contain}.reference-missing{max-width:126px;font-size:10px}.image-lightbox{border:0;border-radius:10px;padding:15px;width:95vw;max-width:1600px;height:95vh;max-height:95vh;background:#15241f;color:white}.image-lightbox::backdrop{background:rgba(0,0,0,.8)}.lightbox-controls{display:flex;justify-content:flex-end;gap:12px;height:42px}.lightbox-image{height:calc(100% - 54px);margin-top:12px;display:flex;justify-content:center;align-items:center;overflow:auto}.lightbox-image img{max-width:100%;max-height:100%;object-fit:contain}.lightbox-image.zoomed{display:block}.lightbox-image.zoomed img{max-width:none;max-height:none}.analysis-row>div{flex:1}.analysis-row form{flex-wrap:wrap;max-width:350px}@media (max-width:1100px){.learning-header{align-items:flex-start;flex-direction:column}}@media (max-width:600px){.polygon-points{grid-template-columns:1fr}}.dashboard-shell .topbar{height:56px;padding-inline:24px}.dashboard-main{padding:16px 24px 0}.dashboard-main .page-heading{margin-bottom:12px;gap:12px}.dashboard-main .page-heading .eyebrow,.dashboard-main .page-heading p{display:none}.dashboard-main .page-heading h1{font-size:24px;margin:0}.dashboard-main .selection-bar{padding:9px 14px;margin-bottom:12px;min-height:54px}.dashboard-main .container-symbol{width:32px;height:32px}.dashboard-main .selection-label{font-size:9px}.dashboard-main .kpi-grid{gap:12px;margin-bottom:8px}.dashboard-main .kpi{display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-template-rows:auto auto;align-items:center;column-gap:8px;row-gap:3px;min-height:62px;min-width:0;padding:9px 12px}.dashboard-main .kpi-primary .kpi-value,.dashboard-main .kpi-value{grid-column:2;grid-row:1/span 2;font-size:clamp(22px,2.3vw,27px);margin:0;letter-spacing:-.7px;line-height:1.1;overflow-wrap:anywhere}.dashboard-main .kpi-value>span{font-size:13px;margin-left:5px}.dashboard-main .kpi-label{grid-column:1;grid-row:1;font-size:10px}.dashboard-main .kpi-label svg{display:none}.dashboard-main .kpi small{grid-column:1;grid-row:2;font-size:10px}.dashboard-main .inventory-kpi>small,.dashboard-main .kpi:last-child>small{display:none}.dashboard-main .inventory-kpi .kpi-label{grid-row:1/span 2}.dashboard-main .level-track{margin-bottom:5px}.dashboard-main .rate-secondary{grid-column:1;grid-row:2;font-size:11px;margin:0}.dashboard-main .rate-secondary abbr{text-decoration:none}.dashboard-main .rate-pending{grid-column:2;grid-row:1/span 2;margin:0;font-size:12px}.dashboard-main .kpi-primary.level-tone-orange{background:#fff1d6;border-color:#e8ab51;color:#884400}.dashboard-main .kpi-primary.level-tone-red{background:#ffebe7;border-color:#df746c;color:#a32a22}.dashboard-main .kpi-primary.level-tone-unknown{background:#edf0ea;border-color:#dce2d6;color:#5c6858}.dashboard-main .kpi-primary:is(.level-tone-orange,.level-tone-red,.level-tone-unknown) :is(.kpi-label,.kpi-label svg,.kpi-value>span,small){color:inherit}.dashboard-main .kpi-primary.level-tone-orange .level-track{background:#f0d5a7}.dashboard-main .kpi-primary.level-tone-orange .level-track>span{background:#d27b13}.dashboard-main .kpi-primary.level-tone-red .level-track{background:#f1c9c3}.dashboard-main .kpi-primary.level-tone-red .level-track>span{background:#c93d35}.dashboard-main .inventory-kpi.level-tone-orange{background:#fffaf0;border-color:#edd5ad}.dashboard-main .inventory-kpi.level-tone-red{background:#fff5f3;border-color:#efc4bf}.dashboard-main .inventory-kpi.level-tone-orange .kpi-value{color:#884400}.dashboard-main .inventory-kpi.level-tone-red .kpi-value{color:#a32a22}.overview-status{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-height:26px;color:#6d7967;font-size:11px}.overview-mode{font-weight:600}.dashboard-main .kpi.is-estimated{border-style:dashed;border-width:2px}.overview-status .overview-review+button{margin-left:0}.overview-status button{margin-left:auto;height:26px;padding:3px 8px;font-size:11px}.dashboard-main .dashboard-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:14px;margin-bottom:14px;align-items:stretch}.dashboard-main .dashboard-columns>.panel{min-width:0;margin:0}.dashboard-main .dashboard-columns .panel-head{padding:12px 14px;min-height:48px;gap:8px}.dashboard-main .dashboard-columns .panel-head h2{font-size:12px}.dashboard-main .dashboard-columns .panel-head p{margin:3px 0 0;font-size:10px}.dashboard-main .camera-panel .panel-head p{display:none}.dashboard-main .camera-panel .panel-head button{height:26px;font-size:11px}.dashboard-main .camera-image{height:clamp(195px,33svh,290px);margin:0 12px}.dashboard-main .image-details{padding:8px 14px}.dashboard-main .camera-panel .panel-bottom{display:none}.dashboard-main .overview-history{display:flex;flex-direction:column}.dashboard-main .overview-history .chart{flex:1;min-height:195px;height:clamp(195px,33svh,290px);padding:0 8px 0 0}.dashboard-main .overview-history .chart-footer{padding:8px 14px}.dashboard-main .overview-history .chart-loading{height:clamp(195px,33svh,290px)}.dashboard-main .dashboard-columns .empty{min-height:195px;padding:20px}.dashboard-measure-details{margin-bottom:14px;border:1px solid var(--border);border-radius:9px;background:#fff}.dashboard-measure-details>summary{padding:12px 15px;cursor:pointer;font-size:12px;color:#52674b}.dashboard-measure-details .measure-panel{border:0;border-top:1px solid var(--border);border-radius:0 0 9px 9px;max-width:100%}.dashboard-measure-details .measurement-display{padding-block:8px}.dashboard-measure-details .measurement-display strong{font-size:36px}.dashboard-main .kpi>small{display:block;line-height:1.35}.dashboard-main .kpi-label,.dashboard-main .rate-secondary{line-height:1.2}@media (min-width:701px) and (max-width:950px){.dashboard-main{padding-inline:18px}.dashboard-main .kpi-label{font-size:10px}.dashboard-main .kpi-value{font-size:25px}.dashboard-main .dashboard-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px}.dashboard-main .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.dashboard-shell .topbar{padding-inline:16px;height:52px}.dashboard-main{padding:10px 14px 0}.dashboard-main .page-heading{margin-bottom:8px}.dashboard-main .page-heading h1{font-size:21px}.dashboard-main .heading-actions>button{height:32px}.dashboard-main .selection-bar{padding:7px 10px;min-height:48px;margin-bottom:8px}.dashboard-main .selection-bar>div{gap:9px;min-width:0}.dashboard-main .selection-bar .container-symbol{display:none}.dashboard-main .selection-bar .site-name{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-main .selection-bar .site-name small{display:none}.dashboard-main .selection-bar .selection-divider{margin:0 2px}.dashboard-main .selection-bar>.badge{display:none}.dashboard-main .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dashboard-main .kpi{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:68px;padding:8px;border-radius:7px}.dashboard-main .kpi-label{font-size:10px;gap:2px;line-height:1.15}.dashboard-main .kpi-primary .kpi-value,.dashboard-main .kpi-value{font-size:clamp(19px,5.5vw,23px);margin:0;letter-spacing:-.6px;line-height:1.1}.dashboard-main .kpi-value>span{display:inline;font-size:10px;margin-left:3px}.dashboard-main .kpi small{font-size:9px;line-height:1.15}.dashboard-main .kpi:last-child small,.dashboard-main .kpi:not(.kpi-primary)>small{display:none}.dashboard-main .rate-secondary{font-size:10px;margin:0;line-height:1.15}.dashboard-main .rate-pending{font-size:10px;gap:4px;margin:0}.overview-status{gap:8px;margin-bottom:8px;min-height:24px;font-size:10px}.overview-status>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-status button{font-size:10px;padding:2px 4px;height:24px}.dashboard-main .dashboard-columns{grid-template-columns:1fr;gap:8px;margin-bottom:12px}.dashboard-main .dashboard-columns .panel-head{min-height:38px;padding:8px 12px}.dashboard-main .dashboard-columns .panel-head p{display:none}.dashboard-main .camera-image{height:clamp(110px,19svh,165px);margin-inline:10px}.dashboard-main .image-stamp{bottom:6px;left:6px;padding:4px 6px;font-size:9px}.dashboard-main .image-details{padding:5px 12px;font-size:9px}.dashboard-main .overview-history .chart{flex:none;height:clamp(130px,20svh,180px);min-height:130px;padding-right:8px}.dashboard-main .overview-history .chart-loading{height:clamp(130px,20svh,180px)}.dashboard-main .overview-history .chart-footer{padding:5px 12px;font-size:9px}.dashboard-main .dashboard-columns .empty{min-height:130px;padding:14px}.dashboard-main .dashboard-columns .empty h3{font-size:12px}.dashboard-main .dashboard-columns .empty p{font-size:10px}.dashboard-main .period-select{padding:4px 6px;min-width:90px;font-size:10px}}@media (min-width:701px) and (max-width:950px){.dashboard-shell .sidebar{transform:translateX(-100%);width:235px}.dashboard-shell .sidebar.is-open{transform:translateX(0)}.dashboard-shell .workspace{margin-left:0;width:100%}.dashboard-shell .mobile-menu{display:block}.dashboard-shell .sidebar-backdrop{display:block;position:fixed;inset:0;background:#10221470;z-index:35;border:0}}@media (max-width:700px){.dashboard-main .kpi:last-child small,.dashboard-main .kpi:not(.kpi-primary)>small{display:none}}@media (max-width:700px) and (max-height:700px){.dashboard-main{position:relative}.dashboard-main .page-heading{height:0;margin:0}.dashboard-main .page-heading>div:first-child{display:none}.dashboard-main .heading-actions{position:absolute;top:18px;right:23px}.dashboard-main .selection-bar{padding-right:47px}.dashboard-main .image-details,.dashboard-main .overview-history .chart-footer{display:none}}.learning-shell .topbar{height:56px;padding-inline:24px}.learning-main{padding:18px 24px 0}.learning-main .page-heading{margin-bottom:14px}.learning-main .page-heading .eyebrow,.learning-main .page-heading p{display:none}.learning-main .page-heading h1{font-size:24px;margin:0}.compact-training-selection{margin-bottom:12px}.learning-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:12px 15px;margin-bottom:14px;font-size:12px}.learning-bar>div:first-child strong{color:#345b2f}.learning-bar p{margin:5px 0 0;font-size:11px;color:#708066}.learning-mode-status{display:flex;gap:10px;flex-wrap:wrap;font-size:10px}.learning-mode-status span{padding:6px 9px;border-radius:5px;background:#f7f1df;color:#856c32}.learning-mode-status small{display:block;margin-top:3px;font-size:9px;opacity:.8}.learning-mode-status .ready{background:#edf5e9;color:#35683e}.learning-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.learning-tools [role=tablist]{display:flex;gap:4px}.learning-tools [role=tab]{padding:9px 12px;border:1px solid transparent;border-radius:6px;font-size:12px;color:#65755e}.learning-tools [role=tab][aria-selected=true]{color:#237c60;background:#edf5e9;border-color:#cbdcbe}.learning-tools [role=tab] span{margin-left:6px;font-size:10px}.learning-add{display:flex;gap:12px;align-items:center;padding:5px;border:1px dashed transparent;border-radius:6px}.learning-add>span{font-size:11px;color:#839177}.learning-add.dragging{border-color:#237c60;background:#edf5e9}.learning-notice{padding:9px 12px;margin-bottom:12px;border:1px solid #d4e3c9;border-radius:6px;color:#456c35;background:#f5faef;font-size:11px}.learning-setup{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px;border:1px solid #eadab2;background:#fff8e9;border-radius:7px;font-size:12px}.learning-setup,.learning-workspace{margin-bottom:12px}.learning-review{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:0}.learning-picture{min-width:0;padding:14px}.learning-picture-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:10px;color:#7b8871}.learning-full-image{position:relative;display:block;width:100%;height:clamp(230px,43svh,470px);background:#e8ede3;border:0;border-radius:7px;padding:0;overflow:hidden;cursor:zoom-in}.learning-full-image img{width:100%;height:100%;object-fit:contain}.learning-full-image>span{position:absolute;bottom:9px;right:9px;border-radius:5px;background:#ffffffdd;color:#237c60;padding:5px}.learning-review-form{padding:22px 18px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:9px;align-self:start}.learning-review-form h2{margin:7px 0;font-size:16px}.learning-review-form p{font-size:11px;color:#839177;line-height:1.5;margin:6px 0}.learning-review-form .field{margin-bottom:3px}.learning-review-form .field>span{font-size:11px}.learning-review-form input[name=fill]{font-size:25px;padding:10px 12px}.learning-review-form .learning-estimate{margin:6px 0;color:#6a7d5c}.learning-review-form .eyebrow{font-size:9px}.learning-image-details{margin-top:5px}.learning-image-details>summary{cursor:pointer;font-size:11px;color:#7a8870;padding:7px 0}.learning-image-details .field{margin-top:12px}.learning-image-details input,.learning-image-details select{font-size:12px;padding:8px}.learning-filmstrip{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;border-top:1px solid var(--border)}.learning-filmstrip>button{flex:0 0 78px;padding:3px;border:1px solid #dce5d4;border-radius:5px;text-align:left;background:#fff}.learning-filmstrip>button.selected{border:2px solid #237c60;padding:2px}.learning-filmstrip img{width:100%;height:49px;display:block;object-fit:cover;border-radius:3px}.learning-filmstrip span{display:block;padding:4px 3px 1px;font-size:10px;color:#668054}.learning-empty{padding:45px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:#7a8a6c}.learning-empty h2{font-size:15px}.learning-empty p{font-size:12px}.learning-missing{display:flex;align-items:center;justify-content:center;min-height:230px;padding:25px;color:#7d8a72;font-size:13px}.learning-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.learning-footer>span{font-size:11px;color:#7a8a6b}.learning-settings{border-top:1px solid var(--border);padding-top:12px;margin-bottom:20px}.learning-settings>summary{display:flex;align-items:center;gap:7px;color:#748467;font-size:11px;cursor:pointer}.learning-settings form{margin-top:15px;max-width:470px;padding:17px;background:#fff;border:1px solid var(--border);border-radius:7px}.learning-settings p{color:#859478;font-size:11px;line-height:1.6}.learning-restore{max-width:720px;margin-top:14px;padding:17px;background:#fff;border:1px solid var(--border);border-radius:7px}.learning-restore h3{margin:0;font-size:14px}.learning-restore-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.learning-restore-list{border-top:1px solid var(--border)}.learning-restore-list>div{justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:10px;color:#748467}.learning-pages,.learning-restore-list>div,.learning-restore-list>div>div{display:flex;align-items:center}.learning-pages{justify-content:center;gap:15px;padding:12px;border-top:1px solid var(--border);font-size:11px}.learning-dialog{width:min(720px,95vw);max-height:92svh;padding:0;border:1px solid var(--border);border-radius:11px;background:white;color:var(--foreground)}.learning-dialog::backdrop{background:#14241db3}.learning-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.learning-dialog-head h2{font-size:17px}.learning-dialog-body{padding:18px 20px}.learning-dialog-body .training-dropzone{display:flex;flex-direction:column;align-items:center;gap:10px}.learning-dialog-body .training-dropzone p,.learning-upload-hint{font-size:12px;color:#708663}.learning-dialog-body details{margin:15px 0;font-size:12px}.learning-dialog-body details summary{cursor:pointer;margin-bottom:15px}.learning-dialog-body>button{margin-top:16px}@media (max-width:1050px){.learning-mode-status{order:3;width:100%}.learning-add>span{display:none}.learning-review{grid-template-columns:minmax(0,1fr) 235px}}@media (max-width:700px){.compact-training-selection{margin-bottom:10px}.compact-training-selection>span{display:none}.compact-training-selection label{flex-direction:row;align-items:center}.compact-training-selection select{width:auto;flex:1}.learning-bar{padding:10px 12px;gap:10px}.learning-toggle{font-size:11px}.learning-tools{gap:6px}.learning-tools [role=tab]{padding:7px;font-size:11px}.learning-tools [role=tab] span{margin-left:3px}.learning-add{padding:0}.learning-add button{font-size:11px;padding:7px}.learning-review{grid-template-columns:1fr}.learning-picture{padding:10px}.learning-picture-head{flex-wrap:wrap;font-size:9px}.learning-full-image{height:clamp(180px,32svh,300px)}.learning-review-form{border-left:0;border-top:1px solid var(--border);padding:14px}.learning-review-form>div:first-child .eyebrow{display:none}.learning-review-form h2{margin:0;font-size:15px}.learning-review-form>div:first-child>p{display:none}.learning-review-form input[name=fill]{padding:8px 12px;font-size:23px}.learning-footer,.learning-setup{flex-wrap:wrap}.learning-mode-status{gap:6px}.learning-shell .topbar{height:52px;padding-inline:16px}.learning-main{padding:12px 14px 0}.learning-main .page-heading h1{font-size:21px}.learning-main .page-heading{gap:8px}}