@import "https://fonts.googleapis.com/css2?family=Golos+Text:wght@400..600&display=swap";:root{--color-brand-fill:#0c9c61;--color-brand-hover:#0da367;--color-brand-pressed:#0b915a;--color-brand-light:#04b26b;--color-brand-dark:#007c4b;--color-brand-text:#007241;--color-brand-bg-selected:#e1f5ed;--color-brand-sep:#8fccb4;--color-white:#fff;--color-white-75:#ffffffbf;--color-black:#000;--color-bg:#f2f7f5;--color-bg-main:#e8edeb;--color-hover:#cfe5dc;--color-sep:#206a4c;--color-chip:#a7c0b6;--color-component:#004026;--color-icon:#004026;--color-icon-dark:#597268;--color-icon-light:#99b3a8;--color-text-primary:#041a11;--color-text-secondary:#002617;--color-text-tertiary:#004026;--color-red-fill:#f55827;--color-red-fill-dark:#ef4f1d;--color-red-text:#cf3200;--color-red-bg:#ffe2d9;--color-red-hover:#ff9e80;--color-yellow-fill:#de9400;--color-yellow-fill-dark:#d28c00;--color-yellow-text:#a26c00;--color-yellow-bg:#ffebc2;--color-yellow-sep:#dea600;--color-blue-fill:#007bd2;--color-blue-text:#0064ab;--color-blue-bg:#d6f2ff;--shadow-button:0 1px 2px #0833224d;--shadow-card:0 1px 4px #08332833;--shadow-popup:0 3px 16px #08261f1a;--font-family-base:"Golos Text VF", "Golos Text", system-ui, sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-demibold:600;--text-caption-size:11px;--text-caption-line:14px;--text-h2-size:20px;--text-h2-line:30px;--text-body-size:13px;--text-body-line:18px;--text-body-lg-size:16px;--text-body-lg-line:22px;--text-body-xl-size:18px;--text-body-xl-line:24px;--text-button-lg-size:14px;--text-button-lg-line:20px;--text-button-size:12px;--text-button-line:19px;--text-button-tracking:.04em;--size-control-desktop:32px;--size-control-large:44px;--size-control-mobile:44px;--size-control-compact:24px;--size-menu-item:28px;--size-menu-item-mobile:44px;--size-tab-small:40px;--size-tab-default:44px;--size-tab-contrast:48px;--size-tab-large:54px;--size-chip-small:16px;--size-chip-table:20px;--size-chip-default:24px;--size-chip-large:32px;--size-chip-mobile:40px;--size-icon-xs:12px;--size-icon-sm:16px;--size-icon-md:24px;--size-icon-lg:32px;--radius-xs:2px;--radius-sm:3px;--radius:4px;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--pad-button-x:8px;--pad-button-y:7px;--pad-button-lg-x:16px;--pad-button-lg-y:11px;--gap-button:4px;--pad-chip-x:8px;--pad-chip-y:4px;--pad-chip-sm-x:4px;--pad-chip-sm-y:1px;--pad-notice-x:8px;--pad-notice-y:8px;--pad-tooltip-x:10px;--pad-tooltip-y:6px;--pad-icon-button-mobile:6px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:var(--color-bg);--bg2:var(--color-white);--bg3:var(--color-bg-main);--bg4:var(--color-hover);--border:color-mix(in srgb, var(--color-chip) 40%, transparent);--border2:var(--color-chip);--text:var(--color-text-primary);--text2:var(--color-text-secondary);--text3:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);--text4:color-mix(in srgb, var(--color-text-secondary) 40%, transparent);--accent:var(--color-brand-fill);--accent-light:var(--color-brand-hover);--accent-bg:var(--color-brand-bg-selected);--accent-border:var(--color-brand-sep);--green:var(--color-brand-fill);--green-bg:var(--color-brand-bg-selected);--green-border:var(--color-brand-sep);--red:var(--color-red-text);--red-bg:var(--color-red-bg);--red-border:var(--color-red-hover);--yellow:var(--color-yellow-text);--yellow-bg:var(--color-yellow-bg);--yellow-border:var(--color-yellow-sep);--shadow-sm:var(--shadow-card);--shadow-lg:var(--shadow-popup)}html,body,#root{height:100%}body{font-family:var(--font-family-base);background:var(--color-bg-main);color:var(--color-text-primary);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text3)}.btn-primary,.btn-secondary,.btn-tertiary{border-radius:var(--radius);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:4px;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex}.btn-primary:disabled,.btn-secondary:disabled,.btn-tertiary:disabled{cursor:not-allowed}.btn-primary{height:var(--size-control-desktop);background:var(--color-brand-fill);color:var(--color-white);font-weight:var(--font-weight-demibold);box-shadow:var(--shadow-button);border:none;padding:0 10px}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover)}.btn-primary:active:not(:disabled){background:var(--color-brand-pressed);box-shadow:none}.btn-primary:disabled{background:color-mix(in srgb, var(--color-component) 20%, transparent);box-shadow:none}.btn-primary.btn-full{width:100%}.btn-secondary{height:var(--size-control-desktop);border:1px solid color-mix(in srgb, var(--color-sep) 10%, transparent);color:var(--color-text-primary);background:0 0;padding:0 9px}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--color-hover) 20%, transparent)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb, var(--color-sep) 10%, transparent);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);border-color:#0000}.btn-secondary:disabled{color:color-mix(in srgb, var(--color-text-tertiary) 40%, transparent)}.btn-tertiary{height:var(--size-control-compact);color:var(--color-brand-text);background:0 0;border:none;padding:0 6px}.btn-tertiary:hover:not(:disabled){background:color-mix(in srgb, var(--color-hover) 20%, transparent)}.btn-tertiary:active:not(:disabled){background:color-mix(in srgb, var(--color-sep) 10%, transparent);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.btn-link{align-items:center;gap:var(--gap-button);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);color:var(--color-brand-text);cursor:pointer;background:0 0;border:none;padding:0;transition:color .15s;display:inline-flex}.btn-link:active:not(:disabled){color:var(--color-brand-dark)}.btn-link:disabled{cursor:not-allowed}.btn-primary.btn-lg,.btn-secondary.btn-lg{height:var(--size-control-large);font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line);font-weight:var(--font-weight-medium)}.btn-primary.btn-lg{padding:0 var(--pad-button-lg-x)}.btn-secondary.btn-lg{padding:0 calc(var(--pad-button-lg-x) - 1px)}.btn-link.btn-lg{font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line)}.btn-tertiary.btn-lg{height:var(--size-control-desktop);padding:0 var(--pad-button-x);font-size:var(--text-button-lg-size);line-height:var(--text-button-lg-line);font-weight:var(--font-weight-demibold);letter-spacing:var(--text-button-tracking)}.btn-primary:has(>svg:first-child){padding-left:var(--pad-button-x)}.btn-secondary:has(>svg:first-child){padding-left:calc(var(--pad-button-x) - 1px)}.icon-btn{width:var(--size-control-desktop);height:var(--size-control-desktop);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);color:var(--text3);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.icon-btn:hover{background:var(--bg3);color:var(--text2);border-color:var(--border2)}.icon-btn.danger:hover{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.icon-btn-add{width:var(--size-control-desktop);height:var(--size-control-desktop);border-radius:var(--radius);border:1px solid var(--green-border);background:var(--green-bg);color:var(--green);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.icon-btn-add:hover{background:var(--green);color:var(--color-white);border-color:var(--green)}.btn-success{align-items:center;gap:var(--gap-button);height:var(--size-control-desktop);padding:0 var(--pad-button-x);border-radius:var(--radius);cursor:pointer;background:var(--green);color:var(--color-white);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);letter-spacing:.01em;border:none;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex;box-shadow:0 1px 2px #16a34a4d}.btn-success:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 3px 8px #16a34a59}.btn-success:active{transform:translateY(0)}.btn-success:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-danger{align-items:center;gap:var(--gap-button);height:var(--size-control-desktop);padding:0 var(--pad-button-x);border-radius:var(--radius);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);background:var(--red-bg);border:1px solid var(--red-border);color:var(--red);cursor:pointer;transition:all .15s;display:inline-flex}.btn-sm{height:var(--size-control-compact);padding:0 var(--space-3);font-size:var(--text-button-size)}.field{flex-direction:column;gap:2px;display:flex}.field label,.field-heading{font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.field input,.field select{height:var(--size-control-desktop);border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--color-text-tertiary) 20%, transparent);background:var(--color-white);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);outline:none;padding:0 9px;transition:border-color .15s}.field input:hover:not(:disabled):not(:focus),.field select:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb, var(--color-text-tertiary) 30%, transparent)}.field input:focus,.field select:focus{border:2px solid var(--color-brand-fill);padding:0 8px}.field:focus-within label{color:var(--color-brand-text)}.field input::placeholder{color:color-mix(in srgb, var(--color-text-tertiary) 40%, transparent)}.field input:focus::placeholder{color:color-mix(in srgb, var(--color-text-tertiary) 30%, transparent)}.field input:disabled,.field select:disabled{background:var(--color-bg);border-color:var(--color-bg);cursor:not-allowed}.field.field-error input,.field.field-error select{border:2px solid var(--color-red-fill);padding:0 8px}.field.field-error input:hover:not(:disabled),.field.field-error select:hover:not(:disabled){border-color:var(--color-red-fill-dark)}.field.field-error label,.field.field-error:focus-within label{color:var(--color-red-text)}.field select option{background:var(--color-white)}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.error-msg{min-height:var(--size-control-desktop);border-radius:var(--radius);background:var(--color-red-bg);border:1px solid color-mix(in srgb, var(--color-red-fill) 30%, transparent);color:var(--color-text-primary);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);align-items:center;gap:4px;padding:4px 8px;display:flex}.notice-msg{min-height:var(--size-control-desktop);border-radius:var(--radius);background:var(--color-yellow-bg);border:1px solid color-mix(in srgb, var(--color-yellow-sep) 30%, transparent);color:var(--color-text-primary);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);align-items:center;gap:4px;padding:4px 8px;display:flex}input[type=checkbox],input[type=radio]{appearance:none;border:1px solid color-mix(in srgb, var(--color-text-tertiary) 40%, transparent);background:var(--color-white);cursor:pointer;flex-shrink:0;place-content:center;width:14px;height:14px;margin:0;transition:background .15s,border-color .15s;display:inline-grid}input[type=checkbox]{border-radius:var(--radius-xs)}input[type=radio]{border-radius:50%}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--color-brand-fill);border-color:var(--color-brand-fill)}input[type=checkbox]:checked:hover:not(:disabled),input[type=radio]:checked:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover)}input[type=checkbox]:checked:before{content:"";border:2px solid var(--color-white);border-top:none;border-right:none;width:8px;height:5px;transform:translateY(-1px)rotate(-45deg)}input[type=radio]:checked:before{content:"";background:var(--color-white);border-radius:50%;width:6px;height:6px}input[type=checkbox]:indeterminate{background:var(--color-white);border-color:color-mix(in srgb, var(--color-text-tertiary) 40%, transparent)}input[type=checkbox]:indeterminate:before{content:"";border-radius:var(--radius-xs);background:var(--color-brand-fill);width:4px;height:4px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;background:var(--color-bg);border-color:color-mix(in srgb, var(--color-text-tertiary) 20%, transparent)}input[type=checkbox]:disabled:checked,input[type=radio]:disabled:checked{background:color-mix(in srgb, var(--color-text-tertiary) 20%, transparent);border-color:#0000}.selection-control{height:var(--size-control-desktop);border-radius:var(--radius);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:0 9px;transition:background .15s;display:inline-flex}.selection-control:hover{background:color-mix(in srgb, var(--color-hover) 20%, transparent)}.selection-control:has(input:disabled){cursor:not-allowed;color:color-mix(in srgb, var(--color-text-tertiary) 40%, transparent)}.chip{height:var(--size-chip-default);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--color-chip) 20%, transparent);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);white-space:nowrap;border:none;align-items:center;gap:5px;padding:0 6px;display:inline-flex}.chip-positive{background:var(--color-brand-bg-selected)}.chip-negative{background:var(--color-red-bg)}.chip-sm{height:var(--size-chip-small);font-size:var(--text-caption-size);line-height:var(--text-caption-line);gap:4px;padding:0 4px}.chip-sm.chip-positive{color:var(--color-brand-text)}.chip-sm.chip-negative{color:var(--color-red-text)}.chip-hoverable{border:1px solid color-mix(in srgb, var(--color-sep) 10%, transparent);border-radius:var(--radius-sm);cursor:pointer;padding:0 5px;transition:background .15s,border-color .15s}.chip-hoverable:hover:not(.selected):not(.disabled){background:color-mix(in srgb, var(--color-sep) 10%, transparent)}.chip-hoverable.selected{background:var(--color-white);border:2px solid var(--color-brand-fill);padding:0 4px}.chip-hoverable.disabled{opacity:.5;pointer-events:none}.tab{height:var(--size-tab-small);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 8px;transition:color .15s,border-color .15s;display:inline-flex}.tab:hover:not(.selected){color:var(--color-text-primary)}.tab.selected{color:var(--color-brand-text);border-bottom-color:var(--color-brand-fill)}.tab-lg{height:var(--size-tab-large);font-size:var(--text-button-lg-size);line-height:var(--text-button-lg-line);font-weight:var(--font-weight-demibold);padding:0 10px}.tab-solid{height:var(--size-tab-default);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-primary);font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line);font-weight:var(--font-weight-medium);border-bottom:none;gap:4px;padding:0 12px;transition:background .15s,color .15s}.tab-solid.selected{background:var(--color-text-primary);color:var(--color-white);border-bottom:none}.tab-solid.selected .chip{background:var(--color-brand-bg-selected);color:var(--color-brand-text)}.menu-item{width:100%;height:var(--size-menu-item);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;transition:background .15s;display:flex}.menu-item:hover:not(:disabled){background:color-mix(in srgb, var(--color-hover) 20%, transparent)}.menu-item.selected{background:color-mix(in srgb, var(--color-hover) 20%, transparent);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.menu-item.selected:after{content:"";border:2px solid var(--color-brand-fill);border-top:none;border-right:none;width:8px;height:5px;margin-left:auto;transform:translateY(-2px)rotate(-45deg)}.menu-item-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-red-hover) 20%, transparent)}.menu-item-title{height:24px;font-family:var(--font-family-base);font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:var(--font-weight-regular);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);align-items:center;padding:0 12px;display:flex}.menu-separator{border:none;border-top:1px solid color-mix(in srgb, var(--color-sep) 10%, transparent);background:0 0;height:9px;margin:0}.notice{min-height:var(--size-control-desktop);border-radius:var(--radius);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background:var(--color-yellow-bg);border:1px solid color-mix(in srgb, var(--color-yellow-sep) 30%, transparent);align-items:center;gap:4px;padding:4px;display:flex}.notice-error{background:var(--color-red-bg);border-color:color-mix(in srgb, var(--color-red-fill) 30%, transparent)}.notice-success{background:var(--color-brand-bg-selected);border-color:color-mix(in srgb, var(--color-brand-fill) 30%, transparent)}.toast{border-radius:var(--radius);background:var(--color-red-fill);min-height:40px;color:var(--color-white);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);border:none;align-items:center;gap:12px;padding:11px 12px;display:flex}.toast-success{background:var(--color-brand-fill)}.toast-title{font-size:var(--text-body-xl-size);line-height:var(--text-body-xl-line);font-weight:var(--font-weight-medium)}.toast-text{font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:var(--font-weight-medium)}:focus-visible{outline:2px solid var(--color-brand-dark);outline-offset:2px}.field input:focus-visible,.field select:focus-visible{outline:none}.dup-table :focus-visible,.analyses-table :focus-visible{outline-offset:0}.mainheader{height:var(--size-tab-contrast);padding:0 var(--space-4) 0 var(--space-8);background:var(--color-bg);flex-shrink:0;align-items:center;display:flex}.mainheader-titles{align-items:center;gap:var(--space-6);min-width:0;display:flex}.mainheader-logo{cursor:pointer;border-radius:var(--radius);background:0 0;border:none;align-items:center;padding:0;display:flex}.mainheader-tabs{padding:0 var(--space-8);align-items:center;min-width:0;margin:0 auto;display:flex}.header-tab{align-items:center;gap:var(--space-2);padding:7px var(--space-4) 7px var(--space-3);border-radius:var(--radius);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);white-space:nowrap;cursor:pointer;background:0 0;border:none;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.header-tab svg{color:var(--color-icon-dark);transition:color .15s}.header-tab:hover:not(.selected){background:color-mix(in srgb, var(--color-hover) 40%, transparent);color:var(--color-text-primary)}.header-tab.selected{background:var(--color-white);color:var(--color-text-primary);box-shadow:var(--shadow-button)}.header-tab.selected svg{color:var(--color-brand-fill)}.mainheader-icons{align-items:center;gap:var(--space-1);display:flex}.mainheader-actions{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.mainheader-divider{background:linear-gradient(to right, transparent 0, transparent 4.5px, var(--color-chip) 4.5px, var(--color-chip) 5.5px, transparent 5.5px);flex:none;width:10px;height:20px}.header-icon-btn{width:var(--size-icon-lg);height:var(--size-icon-lg);border-radius:var(--radius);color:var(--color-icon);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.header-icon-btn:hover{background:color-mix(in srgb, var(--color-hover) 40%, transparent)}.login-bg{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 50%,#f0fdf4 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);width:420px;box-shadow:var(--shadow-lg);flex-direction:column;gap:28px;padding:40px;display:flex}.login-logo{align-items:center;gap:10px;display:flex}.login-brand{color:var(--text);letter-spacing:-.03em;font-size:22px;font-weight:800}.login-title{color:var(--text);font-size:20px;font-weight:700}.login-form{flex-direction:column;gap:16px;display:flex}.empty-state{color:var(--text3);flex-direction:column;align-items:center;gap:16px;margin-top:80px;display:flex}.empty-state p{color:var(--text2);font-size:16px;font-weight:500}.table-wrapper{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow-x:auto}.analyses-table{border-collapse:collapse;background:var(--bg2);width:100%}.analyses-table thead tr{background:var(--bg3)}.analyses-table th{text-align:left;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);padding:11px 16px;font-size:11px;font-weight:700}.table-row{cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--accent-bg)}.analyses-table td{color:var(--text);vertical-align:middle;padding:13px 16px}.col-name{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.col-outliers{text-align:center}.col-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.tag-list{flex-wrap:wrap;gap:4px;display:flex}.tag{height:var(--size-chip-small);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--color-chip) 20%, transparent);color:var(--color-text-primary);font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:var(--font-weight-regular);border:none;align-items:center;padding:0 4px;display:inline-flex}.tag-more{color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.outlier-badge{align-items:center;gap:var(--gap-button);background:var(--yellow-bg);color:var(--yellow);border:1px solid var(--yellow-border);border-radius:var(--radius);padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.outlier-zero{color:var(--text4);font-size:13px}.exp-path-cell{flex-direction:column;gap:1px;display:flex}.exp-path-dirs{color:var(--text3);font-size:11px;font-weight:500;line-height:1.3}.exp-path-name{color:var(--text);font-size:13px;font-weight:600}.dup-counts{align-items:center;gap:5px;display:flex}.dup-count-badge{align-items:center;gap:var(--gap-button);border-radius:var(--radius);border:1px solid;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.dup-count-badge.exact{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.dup-count-badge.probable{background:var(--yellow-bg);border-color:var(--yellow-border);color:var(--yellow)}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-header h3{color:var(--text);font-size:17px;font-weight:700}.modal-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--bg3);border-radius:var(--radius) var(--radius);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-wide{max-width:800px}.crop-chips{flex-wrap:wrap;gap:8px;display:flex}.crop-chip{height:var(--size-chip-default);border:1px solid color-mix(in srgb, var(--color-sep) 10%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-chip) 20%, transparent);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:5px;padding:0 5px;transition:background .15s,border-color .15s;display:inline-flex}.crop-chip:hover:not(.selected):not(.disabled){background:color-mix(in srgb, var(--color-sep) 10%, transparent)}.crop-chip.selected{background:var(--color-white);border:2px solid var(--color-brand-fill);padding:0 4px}.crop-chip.disabled{opacity:.5;pointer-events:none}.dialog-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.exp-tree{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);height:260px;padding:4px 0;overflow-y:auto}.dir-empty{color:var(--text3);padding:12px;font-size:13px;display:block}.tree-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius);align-items:center;gap:5px;margin:0 4px;padding:5px 8px;transition:background .1s;display:flex}.tree-row:hover{background:var(--bg3)}.tree-row-experiment:hover{background:var(--green-bg)}.tree-row-selected{background:var(--green-bg)!important}.tree-expand-btn{width:14px;height:14px;color:var(--text3);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tree-node-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.tree-row-location .tree-node-name{font-weight:700}.tree-row-season .tree-node-name{color:var(--text2);font-weight:500}.tree-row-directory .tree-node-name{color:var(--text2)}.tree-row-selected .tree-node-name{color:var(--green);font-weight:600}.tree-count{border-radius:var(--radius);background:var(--bg4);color:var(--text3);flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:500}.label-hint{color:var(--text3);margin-left:4px;font-size:12px;font-weight:400}.label-count{border-radius:var(--radius);background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.attr-list{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:2px;height:260px;padding:4px;display:flex;overflow-y:auto}.attr-chip{border-radius:var(--radius);cursor:pointer;color:var(--text2);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:all .1s;display:flex}.attr-chip:hover{background:var(--accent-bg);color:var(--text)}.attr-chip.selected{background:var(--accent-bg);color:var(--accent)}.attr-checkbox{border-radius:var(--radius-xs);border:1px solid color-mix(in srgb, var(--color-text-tertiary) 40%, transparent);background:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;transition:background .15s,border-color .15s;display:flex}.attr-chip.selected .attr-checkbox{background:var(--color-brand-fill);border-color:var(--color-brand-fill);color:var(--color-white)}.attr-label{flex:1}.attr-unit{color:var(--text3);font-size:11px;font-weight:500}.analysis-page{flex-direction:column;height:100vh;display:flex}.analysis-main{flex-direction:column;flex:1;gap:24px;padding:24px 32px;display:flex;overflow-y:auto}.analysis-breadcrumb{align-items:center;gap:8px;display:flex}.breadcrumb-parent{color:var(--text3);cursor:pointer;font-size:14px;font-weight:500;transition:color .15s}.breadcrumb-parent:hover{color:var(--text2)}.breadcrumb-sep{color:var(--text4)}.breadcrumb-current{color:var(--text);font-size:14px;font-weight:700}.analysis-info-bar{flex-wrap:wrap;gap:8px;display:flex}.info-pill{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:5px 14px;font-size:12px;font-weight:500;display:flex}.info-pill span:first-child{color:var(--text3);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.info-pill.outlier-pill{background:var(--yellow-bg);border-color:var(--yellow-border);color:var(--yellow)}.info-pill.exact-pill{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.probable-pill{background:var(--yellow-bg);border-color:var(--yellow-border);color:var(--yellow)}.info-pill.not-duplicate-pill{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.info-pill.deactivated-pill{background:var(--bg3);border-color:var(--border2);color:var(--text3)}.charts-list{flex-direction:column;gap:24px;display:flex}.chart-block{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.chart-block.chart-error{border-color:var(--red-border);background:var(--red-bg)}.chart-title{color:var(--text);letter-spacing:-.01em;margin-bottom:16px;font-size:16px;font-weight:700}.chart-empty{color:var(--text3);padding:20px 0;font-size:13px}.stat-card{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:8px 0;display:flex}.stat-card:last-of-type{border-bottom:none}.stat-label{color:var(--text3);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.stat-value{color:var(--text);font-size:17px;font-weight:700}.stat-unit{color:var(--text3);font-size:12px;font-weight:400}.stats-row{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px;display:flex}.stats-row .stat-card{background:var(--bg3);border-radius:var(--radius);border:1px solid var(--border);border-bottom:1px solid var(--border);flex:1;min-width:90px;padding:10px 14px}.chart-title-outlier{align-items:center;gap:var(--gap-button);color:var(--red);vertical-align:middle;background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius);margin-left:12px;padding:1px 8px;font-size:12px;font-weight:500;display:inline-flex}.loading-state{color:var(--text3);flex-direction:column;align-items:center;gap:16px;margin-top:60px;display:flex}.loading-state p{color:var(--text2);font-size:15px;font-weight:500}.wizard-body{flex-direction:column;gap:24px;max-width:900px;display:flex}.wizard-progress-block{flex-direction:column;gap:10px;display:flex}.wizard-progress-bar-wrap{background:var(--bg4);border-radius:var(--radius);border:1px solid var(--border);height:8px;overflow:hidden}.wizard-progress-bar{background:linear-gradient(90deg, var(--accent), #60a5fa);border-radius:var(--radius);height:100%;transition:width .4s}.wizard-progress-status{color:var(--text2);gap:16px;font-size:13px;font-weight:500;display:flex}.wizard-current-exp{color:var(--accent);font-style:italic}.tree-dup-badge{border-radius:var(--radius);border:1px solid;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700;display:flex}.tree-dup-badge.has-dups{background:var(--yellow-bg);border-color:var(--yellow-border);color:var(--yellow)}.tree-dup-badge.has-dups-exact{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.tree-dup-badge.has-dups-probable{background:var(--yellow-bg);border-color:var(--yellow-border);color:var(--yellow)}.tree-dup-badge.no-dups{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}.dup-toggle{color:var(--text2);cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.dup-toggle input{cursor:pointer}.dup-filter-tabs{gap:4px;display:flex}.dup-filter-tab{border-radius:var(--radius);border:1.5px solid var(--border);color:var(--text3);background:var(--bg2);cursor:pointer;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.dup-filter-tab:hover{border-color:var(--accent-light);color:var(--accent);background:var(--accent-bg)}.dup-filter-tab.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.dup-filter-tab.exact.active{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.dup-filter-tab.probable.active{background:var(--yellow-bg);border-color:var(--yellow-border);color:var(--yellow)}.dup-table-wrap{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow-x:auto}.dup-table{border-collapse:collapse;background:var(--bg2);width:100%;font-size:13px}.dup-th{background:var(--bg3);color:var(--text3);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;padding:10px 12px;font-size:10px;font-weight:700;position:sticky;top:0}.dup-th-id{width:40px}.dup-th-status{width:32px}.dup-th-code{min-width:130px}.dup-th-plot{min-width:110px}.dup-th-ts{white-space:nowrap;min-width:110px}.dup-th-attr{border-left:1px solid var(--border)}.dup-td{border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle;padding:9px 12px}.dup-td-idx{color:var(--text4);text-align:right;font-size:11px}.dup-td-code{color:var(--text);font-weight:600}.dup-td-plot{color:var(--text2)}.dup-td-ts{color:var(--text3);font-size:12px}.dup-td-status{text-align:center}.dup-td-val{text-align:right;font-variant-numeric:tabular-nums}.dup-table tbody tr:hover td{background:var(--bg3)}.dup-row-exact td{background:#dc26260a!important}.dup-row-probable td{background:#d977060a!important}.dup-row-exact:hover td{background:#dc262617!important}.dup-row-probable:hover td{background:#d9770617!important}.dup-badge-exact{color:var(--red);justify-content:center;display:flex}.dup-badge-probable{color:var(--yellow);justify-content:center;display:flex}.dup-row-deactivated td{opacity:.42}.dup-row-not-duplicate td{opacity:.55;background:#2563eb0a!important}.dup-row-not-duplicate:hover td{background:#2563eb17!important}.dup-th-check,.dup-td-check{text-align:center;width:36px}.dup-th-check input,.dup-td-check input{cursor:pointer}.dup-th-plot,.dup-td-plot{min-width:90px}.dup-th-code,.dup-td-code{min-width:80px;font-weight:600}.dup-th-ts,.dup-td-ts{white-space:nowrap;min-width:90px}.dup-th-user,.dup-td-user{min-width:110px;color:var(--text2);font-size:12px}.dup-th-actions,.dup-td-action{text-align:right;min-width:260px;padding-right:12px!important}.dup-action-buttons{flex-wrap:nowrap;justify-content:flex-end;gap:6px;display:flex}.btn-deactivate{border-radius:var(--radius);border:1px solid var(--red-border);background:var(--red-bg);color:var(--red);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.btn-deactivate:hover{background:#dc26261f}.btn-deactivate:disabled{opacity:.5;cursor:not-allowed}.btn-not-duplicate{border-radius:var(--radius);border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.btn-not-duplicate:hover{background:#2563eb1f}.btn-not-duplicate:disabled{opacity:.5;cursor:not-allowed}.btn-danger{border-radius:var(--radius);border:1px solid var(--red-border);background:var(--red-bg);color:var(--red);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.btn-danger:hover{background:#dc262626}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:3px 9px!important;font-size:12px!important}.bulk-action-bar{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:8px;padding:8px 16px;display:flex}.bulk-action-info{color:var(--text2);flex:1;font-size:13px}.bulk-action-info strong{color:var(--text)}.chart-title-unit{color:var(--text3);margin-left:4px;font-size:14px;font-weight:400}.bp-tooltip{pointer-events:none;z-index:20;background:var(--text);color:var(--color-white);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;min-width:120px;padding:8px 12px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.bp-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--text);border-bottom:none;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.bp-tooltip-value{color:#fca5a5;font-size:14px;font-weight:700}.bp-tooltip-label{color:var(--color-white);font-size:12px;font-weight:600}.bp-tooltip-sub{color:#94a3b8;font-size:11px}.oa-tabs{gap:4px;display:flex}.oa-tab{height:var(--size-tab-default);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line);font-weight:var(--font-weight-medium);cursor:pointer;border:none;justify-content:center;align-items:center;gap:4px;padding:0 12px;transition:background .15s,color .15s;display:inline-flex}.oa-tab.active{background:var(--color-text-primary);color:var(--color-white)}.obs-outlier-row td{background:#dc26260d!important}.obs-outlier-row:hover td{background:#dc26261a!important}.obs-outlier-badge{align-items:center;gap:var(--gap-button);border-radius:var(--radius);background:var(--red-bg);border:1px solid var(--red-border);color:var(--red);padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.hier-table{table-layout:fixed}.hier-th-expand{width:32px}.hier-th-val{text-align:right;width:160px}.hier-th-status{text-align:right;width:110px}.hier-row{cursor:default}.hier-row.hier-geno,.hier-row.hier-plot{cursor:pointer}.hier-geno td{background:var(--bg3);border-bottom:1px solid var(--border)}.hier-geno:hover td{background:var(--bg4)}.hier-geno.hier-has-outlier td{background:#dc26260a}.hier-geno.hier-has-outlier:hover td{background:#dc262614}.hier-plot td{background:var(--bg2);border-bottom:1px solid var(--border)}.hier-plot:hover td{background:var(--bg3)}.hier-obs td{background:var(--bg2);border-bottom:1px solid var(--border)}.hier-obs:hover td{background:var(--bg3)}.hier-td-expand{width:32px;color:var(--text3);text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none}.hier-indent-1{padding-left:20px!important}.hier-indent-2{padding-left:40px!important}.hier-td-name{vertical-align:middle}.hier-name-geno{color:var(--text);font-size:13px;font-weight:700}.hier-name-plot{color:var(--text2);padding-left:8px;font-size:12px;font-weight:500}.hier-name-obs{color:var(--text3);padding-left:8px;font-size:12px}.hier-td-val{text-align:right;font-variant-numeric:tabular-nums;vertical-align:middle;padding-right:16px!important}.hier-avg-label{color:var(--text3);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:10px;font-weight:600}.hier-val-obs{color:var(--text);font-weight:600}.hier-td-status{text-align:right;vertical-align:middle;padding-right:12px!important}.hier-th-actions{text-align:right;width:320px}.hier-td-actions{text-align:right;vertical-align:middle;padding-right:12px!important}.hier-row.hier-obs.hier-row-deactivated td{opacity:.42}.hier-row.hier-obs.hier-row-not-outlier td{opacity:.55;background:#2563eb0a!important}.hier-row.hier-obs.hier-row-not-outlier:hover td{background:#2563eb17!important}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@media (width<=640px){.field-row{grid-template-columns:1fr}.login-card{width:100%;padding:24px}.analysis-main{padding:16px}.dialog-columns{grid-template-columns:1fr}}.attr-subheader{align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-4);background:var(--color-white);border-bottom:1px solid color-mix(in srgb, var(--color-chip) 40%, transparent);display:flex}.attr-search{align-items:center;display:flex;position:relative}.attr-search input{width:200px;padding-right:33px}.attr-search svg{pointer-events:none;position:absolute;right:9px}.attr-subheader select{width:200px}.attr-type-tabs{align-items:center;gap:var(--space-2);display:flex}.attr-type-tab{align-items:center;gap:var(--space-2);height:var(--size-control-desktop);padding:0 var(--pad-button-x);border-radius:var(--radius);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-regular);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;transition:background .15s;display:inline-flex}.attr-type-tab:hover:not(.active){background:color-mix(in srgb, var(--color-hover) 35%, transparent)}.attr-type-tab.active{font-weight:var(--font-weight-demibold)}.attr-type-count{height:var(--size-chip-small);padding:0 var(--pad-chip-sm-x);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--color-chip) 20%, transparent);font-size:var(--text-caption-size);line-height:var(--text-caption-line);align-items:center;display:inline-flex}.attr-main{background:var(--color-white);flex:1;overflow:auto}.attr-table{border-collapse:collapse;width:100%}.attr-table th{height:32px;padding:0 var(--space-4);text-align:left;white-space:nowrap;font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:var(--font-weight-regular);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-chip) 40%, transparent)}.attr-table td{height:36px;padding:0 var(--space-4);white-space:nowrap;font-size:var(--text-body-size);line-height:var(--text-body-line);color:var(--color-text-primary);border-bottom:1px solid color-mix(in srgb, var(--color-chip) 25%, transparent)}.attr-table .table-row{cursor:pointer}.attr-table .table-row:hover td{background:color-mix(in srgb, var(--color-hover) 30%, transparent)}.attr-table .col-id{width:48px;color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.attr-table .col-name{font-weight:var(--font-weight-medium);text-overflow:ellipsis;max-width:260px;overflow:hidden}.attr-table .tag-list{flex-wrap:nowrap}.attr-table .tag{white-space:nowrap}.attr-table .col-num{text-align:right}.attr-table .col-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-caption-size);white-space:nowrap}.cell-empty{color:color-mix(in srgb, var(--color-text-secondary) 40%, transparent)}.attr-bottom-bar{align-items:center;gap:var(--space-6);height:64px;padding:0 var(--space-4);background:var(--color-white);border-top:1px solid color-mix(in srgb, var(--color-chip) 40%, transparent);display:flex}.attr-total{font-size:var(--text-body-size);line-height:var(--text-body-line);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.attr-total b{font-weight:var(--font-weight-demibold);color:var(--color-text-primary)}.modal-attribute{width:624px;max-width:624px;height:960px;max-height:calc(100vh - 48px);padding:0;overflow:hidden}.attr-modal-header{padding:12px var(--space-8) 14px;background:var(--color-white);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.attr-modal-header h3{font-size:var(--text-h2-size);line-height:var(--text-h2-line);font-weight:var(--font-weight-demibold);color:var(--color-text-primary);margin:0}.attr-modal-body{background:var(--color-white);flex:1;min-height:0;overflow-y:auto}.attr-modal-footer{align-items:center;gap:var(--space-8);height:64px;padding:0 var(--space-8);background:var(--color-bg);border-top:1px solid color-mix(in srgb, var(--color-sep) 10%, transparent);flex-shrink:0;display:flex}.attr-modal-footer .btn-primary,.attr-modal-footer .btn-secondary{width:136px}.attr-section{padding:12px var(--space-8) var(--space-8);background:var(--color-white);flex-direction:column;gap:12px;display:flex}.attr-section+.attr-section{border-top:1px solid color-mix(in srgb, var(--color-sep) 10%, transparent)}.attr-section-messages{gap:var(--space-4);padding-bottom:0}.attr-section-title{align-items:center;gap:var(--space-4);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex}.attr-subsection{border-top:1px solid color-mix(in srgb, var(--color-sep) 10%, transparent);flex-direction:column;gap:12px;padding-top:12px;display:flex}.attr-grid2{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.attr-rules-grid{gap:var(--space-8);grid-template-columns:repeat(3,136px);display:grid}.attr-field-136{width:136px}.modal-attribute .field{gap:3px}.modal-attribute .field label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.req{color:var(--color-red-text)}.attr-joined{align-items:flex-end;display:flex}.attr-joined>.field{flex:auto;min-width:0}.attr-joined>.field input{border-top-right-radius:0;border-bottom-right-radius:0}.attr-joined-tail{margin-left:-1px;flex:0 0 80px!important}.attr-joined-tail select{border-top-left-radius:0;border-bottom-left-radius:0}.attr-check{font-size:var(--text-body-size);line-height:var(--text-body-line);color:var(--color-text-primary);cursor:pointer;align-items:center;gap:10px;padding:7px 9px;display:flex}.attr-check input{width:14px;height:14px;accent-color:var(--color-brand-fill);cursor:pointer;margin:0}.attr-check-inline{align-self:end}.attr-type-seg{background:var(--color-bg);border-radius:var(--radius);gap:1px;display:flex}.attr-type-seg-item{border-radius:var(--radius);min-width:0;font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:auto;padding:7px 10px;transition:background .15s,color .15s,box-shadow .15s}.attr-type-seg-item:hover:not(.selected){color:var(--color-text-primary)}.attr-type-seg-item.selected{background:var(--color-white);color:var(--color-text-primary);box-shadow:var(--shadow-button)}.attr-type-chip{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-chip) 20%, transparent);font-weight:var(--font-weight-regular);color:var(--color-text-primary);padding:1px 6px}.attr-chips-row{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.attr-chip{align-items:center;gap:var(--space-1);height:var(--size-chip-default);padding-left:var(--space-3);border:1px solid color-mix(in srgb, var(--color-sep) 10%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-chip) 20%, transparent);font-size:var(--text-body-size);line-height:var(--text-body-line);color:var(--color-text-primary);white-space:nowrap;display:inline-flex}.attr-chip-badge{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-sep) 10%, transparent);min-width:16px;font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:var(--font-weight-demibold);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);text-align:center;padding:1px 3px}.attr-chip-remove{border-radius:var(--radius-xs);width:24px;height:24px;color:var(--color-icon-dark);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.attr-chip-remove:hover{background:color-mix(in srgb, var(--color-hover) 40%, transparent);color:var(--color-text-primary)}.attr-chip>.attr-chip-label:last-child{padding-right:var(--space-3)}.attr-link-btn{padding:3px var(--space-3);border-radius:var(--radius);font-family:var(--font-family-base);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:var(--font-weight-medium);color:var(--color-brand-text);cursor:pointer;background:0 0;border:none;transition:background .15s}.attr-link-btn:hover{background:var(--color-brand-bg-selected)}.attr-popover-anchor{position:relative}.attr-popover{z-index:10;width:320px;height:160px;padding:var(--space-8);background:var(--color-white);box-shadow:var(--shadow-popup);border-radius:8px;flex-direction:column;gap:12px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.attr-popover-tall{height:192px}.attr-popover-submit{width:136px;margin-top:auto}.attr-multiselect{position:relative}.attr-multiselect-box{align-items:center;gap:var(--space-1);min-height:var(--size-control-desktop);border:1px solid color-mix(in srgb, var(--color-text-tertiary) 20%, transparent);border-radius:var(--radius);background:var(--color-white);cursor:pointer;padding:3px 30px 3px 27px;display:flex}.attr-multiselect-box:hover{border-color:color-mix(in srgb, var(--color-text-tertiary) 30%, transparent)}.field-error .attr-multiselect-box{border:2px solid var(--color-red-fill);padding:2px 29px 2px 26px}.attr-multiselect-icon{color:var(--color-icon-dark);position:absolute;top:50%;left:7px;transform:translateY(-50%)}.attr-multiselect-arrow{color:var(--color-icon-dark);position:absolute;top:3px;right:3px}.attr-multiselect-chips{align-items:center;gap:var(--space-1);flex-wrap:wrap;flex:1;min-width:0;display:flex}.attr-multiselect-placeholder{color:color-mix(in srgb, var(--color-text-tertiary) 40%, transparent)}.attr-menu{z-index:10;max-height:220px;padding:var(--space-2) 0;background:var(--color-white);border-radius:var(--radius);box-shadow:var(--shadow-popup);position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.attr-menu-empty{padding:var(--space-2) var(--space-6);font-size:var(--text-body-size);line-height:var(--text-body-line);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.attr-select-icon{display:flex;position:relative}.attr-select-icon>svg{color:var(--color-icon-dark);pointer-events:none;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.attr-select-icon select{flex:1;padding-left:27px}.attr-select-icon select:focus{padding-left:26px}.attr-widget-preview{height:var(--size-control-desktop);border-radius:var(--radius);background:var(--color-bg);justify-content:center;align-self:end;align-items:center;display:flex}.attr-widget-scale{align-items:center;gap:3px;display:flex}.attr-widget-scale i{background:var(--color-brand-sep);border-radius:50%;width:6px;height:6px}.attr-widget-scale i.on{background:var(--color-brand-fill)}.attr-widget-list{font-size:var(--text-body-size);line-height:var(--text-body-line);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.attr-section-empty{flex:1;justify-content:center}.attr-empty-type{padding:var(--space-8) 0;flex-direction:column;align-items:center;gap:12px;display:flex}.attr-empty-pic{width:192px;height:192px;display:block;position:relative;overflow:hidden}.attr-empty-pic img{position:absolute;top:21px;left:-12px}.attr-empty-type p{font-size:var(--text-body-size);line-height:var(--text-body-line);color:color-mix(in srgb, var(--color-text-tertiary) 40%, transparent)}.modal-attribute .attr-field-plain:focus-within label{color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent)}.attr-input-suffix{display:flex;position:relative}.attr-input-suffix input{flex:1;min-width:0;padding-right:46px}.attr-input-suffix:after{content:attr(data-suffix);font-size:var(--text-body-size);line-height:var(--text-body-line);color:color-mix(in srgb, var(--color-text-secondary) 65%, transparent);pointer-events:none;position:absolute;top:50%;right:9px;transform:translateY(-50%)}
