[data-with-border] tbody tr:hover,.mantine-Table-root tbody tr:hover{background-color:var(--table-row-hover-bg)!important}.mantine-Table-root[data-striped] tbody tr:nth-of-type(odd){background-color:var(--table-row-even-bg)}.mantine-Table-root tbody tr[data-selected],.mantine-Table-root tbody tr.selected{background-color:#4db8a029!important}.mantine-Table-root:focus-within{border-color:var(--color-orange)}.navbar-grouped{position:fixed;left:0;top:var(--app-header-height);bottom:0;width:var(--sidebar-width);background:var(--color-sidebar-bg)!important;border-right:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;padding:1rem 0;z-index:1000;overflow-y:auto;transition:transform .3s ease;box-shadow:2px 0 12px #1821272e}.navbar-grouped:before,.navbar-grouped:after{display:none!important}.navbar-grouped::-webkit-scrollbar{width:6px}.navbar-grouped::-webkit-scrollbar-track{background:var(--color-sidebar-bg)!important}.navbar-grouped::-webkit-scrollbar-thumb{background:var(--color-sidebar-bg-strong)!important;border-radius:3px}.navbar-grouped::-webkit-scrollbar-thumb:hover{background:#008768!important}.mobile-menu-toggle{position:fixed;top:calc((var(--app-header-height) - 40px) / 2);left:14px;z-index:10001;display:none;align-items:center;gap:.4rem;background:rgba(0,179,137,.98);color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-md);height:40px;padding:0 .9rem;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-menu-toggle:hover{background:#009e78;transform:scale(1.05)}.nav-groups{list-style:none;margin:0;padding:0 .75rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.nav-group{position:relative;width:100%}.nav-group-trigger,.nav-group-trigger.direct-link{width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;background:var(--color-sidebar-pill);border:1px solid var(--color-sidebar-border);color:var(--color-sidebar-text);padding:.7rem 1rem;cursor:pointer;font-weight:600;font-size:.9rem;border-radius:var(--radius-md);transition:all .2s ease;text-decoration:none}.nav-group-trigger:hover,.nav-group-trigger.direct-link:hover{background:var(--color-sidebar-pill-hover);border-color:#fff6;transform:translate(4px)}.nav-group.active>.nav-group-trigger,.nav-group.active>.nav-group-trigger.direct-link{background:var(--color-sidebar-bg-strong);border-color:#fff6;color:#fff;box-shadow:0 2px 10px #009e7873}.nav-group-emoji{font-size:1.1rem;line-height:1}.caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;margin-left:auto;opacity:.7;transition:transform .2s ease}.nav-group.open .caret{transform:rotate(180deg)}.nav-dropdown{list-style:none;margin:.25rem 0 0;padding:0;display:none;flex-direction:column;gap:.15rem;padding-left:2.5rem}.nav-group.open .nav-dropdown{display:flex}.nav-item{display:block;color:#fffffff2;padding:.5rem 1rem;text-decoration:none;font-size:.85rem;border-radius:var(--radius-sm);transition:all .2s ease;background:rgba(255,255,255,.12);margin-bottom:.25rem}.nav-item:hover{background:rgba(255,255,255,.22);color:#fff;transform:translate(4px)}.nav-item.current{background:rgba(0,0,0,.18);color:#fff;font-weight:600;border-left:3px solid var(--color-orange);box-shadow:0 2px 8px #009e7859}.nav-item.disabled{opacity:.5;cursor:not-allowed}.nav-item .tag{background:var(--color-orange);color:#fff;font-size:.7rem;padding:.125rem .375rem;border-radius:12px;font-weight:700;margin-left:.5rem}.sidebar-close{position:absolute;top:.75rem;right:.75rem;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:all .2s ease;z-index:10}.sidebar-close:hover{background:#009e78;border-color:#ffffff73;transform:scale(1.1)}@media (max-width: 1599px){.navbar-grouped{transform:translate(-100%)}.mobile-menu-toggle{display:flex!important}.navbar-grouped.sidebar-open{transform:translate(0)}.sidebar-open .mobile-menu-toggle{left:calc(var(--sidebar-width) + 20px)}.navbar-grouped.sidebar-open:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:-1}}@media (min-width: 1600px){.navbar-grouped{transform:translate(0)}.mobile-menu-toggle{display:none!important}}.user-menu{margin-top:auto;padding:1rem;border-top:1px solid rgba(255,255,255,.2)}.user-menu-login{display:block;padding:.75rem 1rem;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;border-radius:6px;text-align:center;font-weight:500;transition:background-color .2s}.user-menu-login:hover{background:rgba(255,255,255,.2)}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.1);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background-color .2s}.user-menu-trigger:hover{background:rgba(255,255,255,.2)}.user-avatar{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;display:none!important}.user-name{margin-left:0}.nav-group-trigger.direct-link{background:var(--color-sidebar-pill);border:1px solid var(--color-sidebar-border);color:var(--color-sidebar-text);box-shadow:none}.nav-group.active>.nav-group-trigger.direct-link{background:var(--color-sidebar-bg-strong);color:#fff;box-shadow:0 2px 10px #009e7873}.user-name{flex:1;text-align:left;font-weight:500}.user-menu-header{padding:1rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.user-menu-email{font-weight:600;color:#212529;font-size:14px}.user-menu-name{color:#495057;font-size:12px;margin-top:2px}.user-menu-divider{height:1px;background:#e9ecef}.user-menu-item{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;color:#dc3545;cursor:pointer;font-size:14px;transition:background-color .2s}.user-menu-item:hover{background:#f8f9fa}:root{--teal-50: #e0f9f2;--teal-100: #b3f0e0;--teal-200: #80e5cc;--teal-300: #4dd9b8;--teal-400: #26cfa8;--teal-500: #00c698;--teal-600: #00b389;--teal-700: #009e78;--teal-800: #008768;--teal-900: #006650;--orange-50: #fff4e6;--orange-100: #ffe0c2;--orange-200: #ffca99;--orange-300: #ffb066;--orange-400: #ff9933;--orange-500: #ff8c1a;--orange-600: #f57c00;--orange-700: #e56b00;--orange-800: #cc5500;--orange-900: #a34400;--gray-50: #f7f9fb;--gray-100: #eef2f5;--gray-200: #dfe6ec;--gray-300: #c9d2da;--gray-400: #a8b4bf;--gray-500: #7a8a97;--gray-600: #5a6b78;--gray-700: #43505a;--gray-800: #2b353d;--gray-900: #182127;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #dc2626;--color-info: #3b82f6;--font-sans-option-1: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-sans-option-2: "Inter", -apple-system, system-ui, sans-serif;--font-sans-option-3: "Comic Neue", "Nunito", "Quicksand", "Rounded Mplus 1c", -apple-system, system-ui, sans-serif;--font-sans-option-4: "Fredoka One", "Baloo 2", "Varela Round", "Pangolin", cursive, sans-serif;--font-sans-option-5: "Orbitron", "Exo 2", "Audiowide", "Electrolize", "Michroma", monospace, sans-serif;--font-sans-option-6: "Rubik Wet Paint", "Monoton", "Creepster", "Bungee Shade", "Faster One", "Shrikhand", cursive, fantasy;--font-sans-option-7: "Titillium Web", "Chakra Petch", sans-serif;--font-display-option-7: "Chakra Petch", "Titillium Web", sans-serif;--font-sans: var(--font-sans-option-2);--font-display: var(--font-sans-option-2);--font-brand: "Inter", system-ui, sans-serif;--font-size-xs: .8rem;--font-size-sm: .9rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.35rem;--font-size-2xl: 1.6rem;--font-size-3xl: 2rem;--font-size-4xl: 2.4rem;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(24, 33, 39, .06);--shadow-sm: 0 2px 6px rgba(24, 33, 39, .08);--shadow-md: 0 6px 16px rgba(24, 33, 39, .12);--shadow-lg: 0 10px 24px rgba(24, 33, 39, .14);--shadow-xl: 0 16px 38px rgba(24, 33, 39, .18);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--gradient-teal: linear-gradient(135deg, #00c698, #009e78);--gradient-orange: linear-gradient(135deg, #ff9933, #f57c00);--gradient-hero: linear-gradient(90deg, #009e78, #00c698 35%, #ff9933 70%, #f57c00);--gradient-subtle: linear-gradient(155deg, rgba(0, 198, 152, .1), rgba(245, 124, 0, .08));--gradient-card: linear-gradient(145deg, rgba(0, 198, 152, .05), rgba(245, 124, 0, .04));--app-header-height: 60px;--sidebar-width: 280px}:root,:root[data-theme=light]{--color-bg: var(--gray-50);--color-bg-radial: radial-gradient(circle at 20% 10%, rgba(0, 198, 152, .1), transparent 55%), radial-gradient(circle at 85% 85%, rgba(245, 124, 0, .08), transparent 60%), var(--gray-50);--color-surface: #ffffff;--color-surface-alt: #f5f8fb;--color-surface-alt2: #edf2f6;--color-border: rgba(24, 33, 39, .12);--color-border-strong: rgba(24, 33, 39, .2);--color-text: #182127;--color-text-dim: #465560;--color-text-faint: #6b7a87;--color-text-secondary: var(--color-text-dim);--color-text-tertiary: var(--color-text-faint);--color-teal: var(--teal-600);--color-teal-dark: var(--teal-800);--color-teal-light: var(--teal-500);--color-orange: var(--orange-500);--color-orange-dark: var(--orange-700);--color-orange-light: var(--orange-400);--bg-hover: rgba(0, 198, 152, .1);--tabular-border: rgba(24, 33, 39, .12);--tabular-bg: rgba(0, 198, 152, .08);--tabular-row-alt: rgba(24, 33, 39, .04);--brand-teal: var(--color-teal);--brand-teal-dark: var(--color-teal-dark);--brand-red: var(--color-error);--color-primary: var(--color-teal);--color-primary-dark: var(--color-teal-dark);--color-primary-light: var(--color-teal-light);--table-header-bg: var(--color-orange);--table-row-even-bg: #f7faf9;--table-row-odd-bg: #ffffff;--table-row-hover-bg: rgba(245, 124, 0, .08);--input-bg: #ffffff;--input-text: var(--color-text);--input-placeholder: rgba(70, 85, 96, .75);--focus-ring: 0 0 0 3px rgba(0, 198, 152, .3);--color-sidebar-bg: #00b389;--color-sidebar-bg-strong: #009e78;--color-sidebar-border: rgba(255, 255, 255, .28);--color-sidebar-text: #f0fff8;--color-sidebar-pill: rgba(255, 255, 255, .14);--color-sidebar-pill-hover: rgba(255, 255, 255, .26);--bg-primary: var(--color-bg);--bg-secondary: var(--color-surface);--bg-tertiary: var(--color-surface-alt);--text-primary: var(--color-text);--text-secondary: var(--color-text-dim);--border-color: var(--color-border);--teal-primary: var(--color-teal);--teal-dark: var(--color-teal-dark);--accent-orange: var(--color-orange);--accent-orange-dark: var(--color-orange-dark)}:root[data-theme=dark]{--color-bg: #0a0e12;--color-surface: #151b24;--color-surface-alt: #1e2835;--color-surface-alt2: #283441;--color-teal: var(--teal-500);--teal-primary: var(--teal-500);--teal-primary-hover: var(--teal-400);--teal-primary-dark: var(--teal-600);--teal-primary-10: rgba(0, 198, 152, .1);--teal-primary-20: rgba(0, 198, 152, .2);--color-orange: var(--orange-500);--orange-primary: var(--orange-500);--orange-primary-hover: var(--orange-400);--orange-primary-10: rgba(245, 124, 0, .1);--orange-primary-20: rgba(245, 124, 0, .2);--color-primary: var(--color-teal);--color-primary-dark: var(--teal-primary-dark);--color-primary-light: var(--teal-primary-hover);--color-text: #e8edf5;--color-text-secondary: #a8b4c8;--color-text-tertiary: #7a8599;--color-text-dim: #5a6372;--color-border: rgba(140, 163, 186, .15);--color-border-strong: rgba(140, 163, 186, .25);--color-input-bg: rgba(0, 0, 0, .25);--color-input-border: rgba(0, 198, 152, .3);--color-input-focus: var(--teal-500);--color-success: #00c698;--color-warning: #ff9933;--color-error: #ff5252;--color-info: var(--teal-400);--table-header-bg: var(--orange-600);--table-row-hover-bg: rgba(245, 124, 0, .1);--color-sidebar-bg: #0d3d32;--color-sidebar-bg-strong: #082a23;--color-bg-radial: radial-gradient(circle at 25% 15%, rgba(0, 198, 152, .04), transparent 55%), radial-gradient(circle at 80% 75%, rgba(245, 124, 0, .04), transparent 60%)}html,body{margin:0;padding:0;background:var(--color-bg-radial);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}#root{min-height:100vh;display:flex;flex-direction:column}.app{min-height:100vh;background:var(--color-bg-radial)}.app-content-wrapper{min-height:100vh;margin-left:var(--sidebar-width);display:flex;flex-direction:column;transition:margin-left var(--transition-base)}.app-header-bar{position:sticky;top:0;left:0;right:0;width:100vw;z-index:900;height:var(--app-header-height);display:flex;align-items:center;gap:var(--spacing-md);padding:0 var(--spacing-lg);background:linear-gradient(135deg,rgba(0,198,152,.3),rgba(0,179,137,.18)),rgba(224,249,242,.96);border-bottom:1px solid rgba(0,179,137,.28);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-left:calc(-1 * var(--sidebar-width, 0px));max-width:100vw;min-width:100vw;box-sizing:border-box}.app-header-bar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--color-teal),var(--color-orange));opacity:.7}.brand{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-brand);font-size:1.35rem;font-weight:700;letter-spacing:.02em;color:var(--color-teal-dark)}.brand-emoji{font-size:1.3rem}.brand-text{background:linear-gradient(90deg,var(--color-teal-dark),var(--color-orange));-webkit-background-clip:text;background-clip:text;color:transparent}.app-main{flex:1;padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (max-width: 1599px){.app-content-wrapper{margin-left:0}.app-header-bar{padding-left:calc(var(--spacing-lg) + 3.75rem)}}body.theme-transition,body.theme-transition *,body.theme-transition *:before,body.theme-transition *:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease!important}h1,.pageheader-banner{width:100%;background:linear-gradient(90deg,#b2f7ef 0%,#7de2d1 50%,#6ec6ca 100%);box-shadow:0 2px 16px #00503c12;padding:0;border-radius:0 0 24px 24px;min-height:70px;display:flex;align-items:center;position:relative;z-index:10}.pageheader-inner{width:100%;max-width:1400px;margin:0 auto;padding:1.2rem 2.5vw 1.1rem 2.5vw;display:flex;align-items:flex-start;justify-content:flex-start;text-align:left}.pageheader-banner .text-muted{color:#17696a;opacity:.85}.h1,.page-title{font-family:var(--font-display)!important;font-size:2.1rem!important;font-weight:700!important;letter-spacing:-.01em!important;line-height:var(--line-height-tight)!important;color:#0a3d3f!important;margin:0 0 var(--spacing-md)!important;text-align:left!important;justify-content:flex-start!important;align-items:flex-start!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;text-shadow:none!important}.page-title{position:relative;display:inline-flex;align-items:center;gap:var(--spacing-xs);padding-bottom:.35rem}.page-title:after{content:"";position:absolute;left:0;bottom:0;width:42px;height:4px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-teal),var(--color-orange))}h2,.h2,.section-title{font-family:var(--font-display)!important;font-size:clamp(1.45rem,1.75vw,2.1rem)!important;font-weight:600!important;letter-spacing:-.005em!important;line-height:var(--line-height-tight)!important;color:var(--color-orange)!important;margin:var(--spacing-lg) 0 var(--spacing-md)!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important}h3,.h3,.subsection-title{font-size:clamp(1.1rem,1.4vw,1.5rem)!important;font-weight:600!important;letter-spacing:-.005em!important;line-height:var(--line-height-normal)!important;color:var(--color-teal-dark)!important;margin:var(--spacing-md) 0 var(--spacing-sm)!important}.section-title-sm{font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:var(--line-height-tight);color:var(--color-teal);margin:0}h4,.h4{font-size:var(--font-size-xl);font-weight:600;line-height:var(--line-height-normal);color:var(--color-text);margin:var(--spacing-md) 0 var(--spacing-sm)}h5,.h5{font-size:var(--font-size-lg);font-weight:600;line-height:var(--line-height-normal);color:var(--color-text);margin:var(--spacing-sm) 0 var(--spacing-xs)}h6,.h6{font-size:var(--font-size-sm);font-weight:600;line-height:var(--line-height-normal);color:var(--color-text-dim);margin:var(--spacing-sm) 0 var(--spacing-xs);text-transform:uppercase;letter-spacing:.06em}p{margin:0 0 var(--spacing-md);color:var(--color-text)}.text-small{font-size:var(--font-size-sm)}.text-muted,.text-secondary{color:var(--color-text-dim)}.text-faint{color:var(--color-text-faint)}label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);display:block;margin-bottom:var(--spacing-xs)}.input-label{font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-dim)}.title{color:var(--color-teal);font-weight:600;letter-spacing:.4px}button,.button,.btn{font-family:inherit;font-size:var(--font-size-sm);font-weight:600;line-height:1;letter-spacing:.01em;padding:.6rem 1.2rem;border-radius:999px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base);text-decoration:none;background:var(--color-orange);color:#fff;border-color:var(--color-orange)}.ds-table-cell-ellipsis{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}@media (min-width: 1200px){.ds-table-cell-ellipsis{max-width:320px}}button:hover,.button:hover,.btn:hover{background:var(--color-orange-dark);border-color:var(--color-orange-dark);transform:translateY(-1px);box-shadow:0 8px 18px #e8755238}button:active,.button:active,.btn:active{transform:translateY(0)}button:disabled,.button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary,button.primary{background:var(--color-orange);border-color:var(--color-orange)}.btn-primary:hover,button.primary:hover{background:var(--color-orange-dark);border-color:var(--color-orange-dark);box-shadow:0 8px 18px #e8755238}.btn-secondary,button.secondary,.button.secondary{background:var(--color-orange);border-color:var(--color-orange);color:#fff}.btn-secondary:hover,button.secondary:hover,.button.secondary:hover{background:var(--color-orange-dark);border-color:var(--color-orange-dark);box-shadow:0 8px 18px #e8755238}.btn-outline{background:transparent;color:var(--color-teal-dark);border-color:#4db8a080}.btn-outline:hover{background:rgba(77,184,160,.12);color:var(--color-teal-dark)}.btn-ghost{background:rgba(77,184,160,.1);color:var(--color-teal-dark);border-color:#4db8a04d}.btn-ghost:hover{background:rgba(77,184,160,.18);border-color:#4db8a080;box-shadow:0 6px 14px #2d937b2e}.btn-danger,button.red,.button.red{background:var(--color-error);border-color:var(--color-error)}.btn-danger:hover,button.red:hover,.button.red:hover{background:#b91c1c;border-color:#b91c1c;box-shadow:0 4px 12px #dc26264d}.btn-sm,button.small,.button.small{font-size:var(--font-size-xs);padding:.5rem 1rem}.ds-button{font-family:inherit;font-size:var(--font-size-sm);font-weight:600;line-height:1;letter-spacing:.01em;padding:.6rem 1.2rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base);text-decoration:none;background:var(--color-orange);color:#fff;border-color:var(--color-orange)}.ds-button:hover{background:var(--color-orange-dark);border-color:var(--color-orange-dark);transform:translateY(-1px);box-shadow:0 8px 18px #e8755238}.ds-button.orange{background:var(--color-orange);border-color:var(--color-orange)}.ds-button.sm{font-size:var(--font-size-xs);padding:.5rem 1rem}input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],input[type=time],select,textarea,.ds-input,.ds-select,.ds-textarea,.number-input,.select-input,.input-field{font-family:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-normal);padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--input-text);transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%;min-height:36px}input:focus,select:focus,textarea:focus,.ds-input:focus,.ds-select:focus,.ds-textarea:focus{outline:none;border-color:var(--color-teal);box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--input-placeholder);opacity:1}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=checkbox]{margin-right:6px;margin-left:0;vertical-align:middle;width:auto;min-height:auto}label input[type=checkbox]{margin-right:4px;margin-left:0}.checkbox-group{display:inline-flex;align-items:center;gap:.4rem}.checkbox-group input[type=checkbox]{margin:0}.checkbox-group label{margin:0;font-weight:500;color:var(--color-text)}.form-group,.field{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:150px}.field label{font-size:var(--font-size-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-dim)}.input-group{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);align-items:flex-end;flex-wrap:wrap}table,.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;font-size:var(--font-size-sm);box-shadow:var(--shadow-xs)}thead th,.table th{background:var(--table-header-bg);color:#fff;font-weight:700;font-size:.75rem;text-align:left;padding:.7rem .9rem;border-bottom:1px solid rgba(255,255,255,.25);letter-spacing:.08em;text-transform:uppercase}tbody td,.table td{padding:.7rem .9rem;border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left}tbody tr:last-child td,.table tr:last-child td{border-bottom:none}tbody tr:nth-child(2n),.table tr:nth-child(2n){background:var(--table-row-even-bg)}tbody tr:nth-child(odd),.table tr:nth-child(odd){background:var(--table-row-odd-bg)}tbody tr:hover,.table tr:hover{background:var(--table-row-hover-bg)}tbody tr.clickable,.table tr.clickable{cursor:pointer}.table td.empty,tbody td.empty{text-align:center;color:var(--color-text-dim);font-style:italic}table.vibrant thead th{background:var(--table-header-bg)}table.vibrant tbody tr:nth-child(2n) td{background:var(--table-row-even-bg)}table.vibrant tbody tr:nth-child(odd) td{background:var(--table-row-odd-bg)}table.vibrant tbody tr:hover td{background:var(--table-row-hover-bg)}.table-container,.datatable-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container table,.datatable-scroll table{min-width:600px}.datatable-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm)}.datatable-toolbar{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.datatable-filter{max-width:280px}.datatable-scroll{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.table thead th .sort-indicator{display:inline-block;margin-left:.35rem;width:.6rem;height:.6rem;background:rgba(255,255,255,.5);clip-path:polygon(50% 15%,0 85%,100% 85%);opacity:.5;transition:var(--transition-base)}.table thead th .sort-indicator.active.asc{transform:rotate(180deg);opacity:1}.table thead th .sort-indicator.active.desc{opacity:1}.drag-handle-cell{text-align:center;padding:4px 2px;width:1.8rem}.drag-handle{display:inline-block;font-size:14px;line-height:1;opacity:.45}tr.draggable-row{transition:background .12s ease}tr.draggable-row.drag-origin{opacity:.6;background:rgba(77,184,160,.12)}tr.draggable-row.drag-over{outline:2px dashed rgba(77,184,160,.6);outline-offset:-2px}tr.draggable-row.drag-over td{background:rgba(77,184,160,.12)}.card,.paper{background:linear-gradient(160deg,rgba(77,184,160,.04),rgba(232,117,82,.03)),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover,.paper:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-teal);margin:0;letter-spacing:.2px}.card-content{color:var(--color-text)}.panel-orange{background:var(--color-surface)!important;border:3px solid var(--color-orange)!important;border-radius:var(--radius-lg)!important;padding:1.5rem 2rem!important;box-shadow:none!important}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:var(--color-orange);color:#fff;font-size:var(--font-size-xs);padding:.25rem .65rem;border-radius:var(--radius-full);font-weight:600;letter-spacing:.04em;box-shadow:var(--shadow-xs)}.badge.teal{background:var(--color-teal)}.badge.outline{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.notification{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border:1px solid transparent}.notification-success{background:var(--color-success);color:#fff;border-color:#16a34a}.notification-error{background:var(--color-error);color:#fff;border-color:#b91c1c}.notification-warning{background:var(--color-warning);color:#fff;border-color:#d97706}.notification-info{background:var(--color-info);color:#fff;border-color:#2563eb}.ds-alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid transparent;background:var(--color-surface-alt);color:var(--color-text);display:flex;flex-direction:column;gap:var(--spacing-xs)}.ds-alert-title{font-weight:700;font-size:.9rem}.ds-alert-body{color:var(--color-text-dim);font-size:.85rem}.ds-alert--success{background:rgba(34,197,94,.12);border-color:#22c55e66;color:#14532d}.ds-alert--warning{background:rgba(232,117,82,.12);border-color:#e8755266;color:#722f22}.ds-alert--error{background:rgba(220,38,38,.12);border-color:#dc262666;color:#7f1d1d}.ds-alert--info{background:rgba(0,192,180,.12);border-color:#00c0b459;color:#075e57}.ds-loading{padding:var(--spacing-lg);border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-text-dim);text-align:center}.ds-empty-state{padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px dashed var(--color-border);color:var(--color-text-faint);text-align:center}.layout-container,.container{max-width:1400px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-3xl)}.flex{display:flex}.flex-col,.stack{display:flex;flex-direction:column}.flex-row,.row{display:flex;flex-direction:row;gap:var(--spacing-md);align-items:flex-start;flex-wrap:wrap}.flex-1{flex:1}.flex-center{display:flex;align-items:center;justify-content:center}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid;gap:var(--spacing-md)}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.auto-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}:focus-visible{outline:3px solid var(--color-teal);outline-offset:2px}.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-orange);color:#fff;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;z-index:100}.skip-to-main:focus{top:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-teal);border-radius:var(--radius-sm);border:2px solid var(--color-surface)}::-webkit-scrollbar-thumb:hover{background:var(--color-teal-dark)}@media (max-width: 900px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.row{flex-direction:column}.container,.layout-container{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-2xl)}.app-main{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-xl)}}@media (max-width: 640px){.container,.layout-container{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-xl)}.app-main{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-lg)}.app-header-bar{padding-left:calc(var(--spacing-md) + 2.5rem)}h1,.h1{font-size:1.8rem}table,.table{font-size:.8rem}.card,.paper{padding:var(--spacing-md)}}@media print{body{background:white;color:#000}.card,.paper{border:1px solid #000;box-shadow:none}button,.btn,.ds-button{display:none}}.standard-table,.data-table,.dashboard-table,.fermentation-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-xs)}.standard-table thead,.data-table thead,.dashboard-table thead,.fermentation-table thead{position:sticky;top:0;background:var(--color-surface);z-index:10}.standard-table th,.data-table th,.dashboard-table th,.fermentation-table th{padding:.7rem .9rem;text-align:center;font-weight:700;color:#fff;background:var(--table-header-bg);border-bottom:1px solid rgba(255,255,255,.25);border-right:1px solid rgba(255,255,255,.2);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.standard-table th:last-child,.data-table th:last-child,.dashboard-table th:last-child,.fermentation-table th:last-child{border-right:none}.standard-table td,.data-table td,.dashboard-table td,.fermentation-table td{padding:.7rem .9rem;vertical-align:top;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:center}.standard-table td:last-child,.data-table td:last-child,.dashboard-table td:last-child,.fermentation-table td:last-child{border-right:none}.standard-table.striped tbody tr:nth-child(2n),.data-table.striped tbody tr:nth-child(2n),.dashboard-table.striped tbody tr:nth-child(2n),.fermentation-table.striped tbody tr:nth-child(2n){background-color:var(--table-row-even-bg)}.standard-table.compact th,.standard-table.compact td,.data-table.compact th,.data-table.compact td,.dashboard-table.compact th,.dashboard-table.compact td,.fermentation-table.compact th,.fermentation-table.compact td{padding:.5rem;font-size:.85rem}.standard-table tbody tr:hover,.data-table tbody tr:hover,.dashboard-table tbody tr:hover,.fermentation-table tbody tr:hover{background-color:var(--table-row-hover-bg)}.standard-table .status-badge,.data-table .status-badge,.dashboard-table .status-badge,.fermentation-table .status-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.standard-table .status-badge.status-active,.data-table .status-badge.status-active,.dashboard-table .status-badge.status-active,.fermentation-table .status-badge.status-active{background:#dcfce7;color:#16a34a}.standard-table .status-badge.status-scheduled,.data-table .status-badge.status-scheduled,.dashboard-table .status-badge.status-scheduled,.fermentation-table .status-badge.status-scheduled{background:#dbeafe;color:#2563eb}.standard-table .status-badge.status-completed,.data-table .status-badge.status-completed,.dashboard-table .status-badge.status-completed,.fermentation-table .status-badge.status-completed{background:#e0e7ff;color:#6366f1}.standard-table .status-badge.status-warning,.data-table .status-badge.status-warning,.dashboard-table .status-badge.status-warning,.fermentation-table .status-badge.status-warning{background:#fef3c7;color:#d97706}.table-container{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}@media (max-width: 768px){.standard-table th,.standard-table td,.data-table th,.data-table td,.dashboard-table th,.dashboard-table td,.fermentation-table th,.fermentation-table td{padding:.5rem;font-size:.8rem}.standard-table th,.data-table th,.dashboard-table th,.fermentation-table th{font-size:.7rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg, #0a0e12);padding:1rem}.auth-card{background:var(--color-surface, #151b24);border-radius:12px;box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1));padding:2rem;width:100%;max-width:400px;border:1px solid var(--color-border, rgba(255, 255, 255, .11))}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2rem;margin-bottom:.5rem;color:var(--color-text, #e8edf5)}.auth-header p{color:var(--color-text-dim, #a8b4c8)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-error{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;font-size:.875rem;color:var(--color-text, #e8edf5)}.form-group input{padding:.75rem 1rem;border:1px solid var(--color-border, rgba(255, 255, 255, .11));border-radius:8px;font-size:1rem;transition:border-color .2s;background:var(--color-surface-alt, #1e2835);color:var(--color-text, #e8edf5)}.form-group input:focus{outline:none;border-color:var(--color-teal, #008c8c);box-shadow:var(--shadow-focus, 0 0 0 3px rgba(0, 140, 140, .4))}.auth-button{background:var(--gradient-teal, linear-gradient(135deg, #00a3a3, #008c8c));color:#fff;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.auth-button:hover:not(:disabled){background:var(--gradient-teal, linear-gradient(135deg, #008c8c, #006868))}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border, rgba(255, 255, 255, .11))}.auth-footer a{color:var(--color-teal, #008c8c);text-decoration:none}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.spinner{width:40px;height:40px;border:3px solid var(--color-border, #e5e5e5);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-page-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-radial);padding:2rem;position:relative}.error-page-content{max-width:600px;width:100%;background:linear-gradient(160deg,rgba(77,184,160,.05),rgba(232,117,82,.04)),var(--color-surface);border-radius:var(--radius-lg);padding:3rem 2.5rem;border:1px solid var(--color-border);box-shadow:var(--shadow-md);text-align:center;position:relative;z-index:10}[data-theme=dark] .error-page-content{background:#1a1a1a;color:#e7edf5}.error-title{font-size:5rem!important;font-weight:700;margin:.5rem 0!important;line-height:1!important;letter-spacing:-1px!important;color:var(--color-teal)!important}.error-emoji{font-size:1.4rem;opacity:.85;margin-bottom:.35rem}[data-theme=dark] .error-title{color:#e7edf5}.error-subtitle{font-size:1.5rem!important;font-weight:600;color:var(--color-orange)!important;margin:1rem 0!important;letter-spacing:.2px!important}[data-theme=dark] .error-subtitle{color:#e7edf5}.error-message{font-size:1.1rem;color:var(--color-text-dim)!important;margin:1.5rem 0 2rem;line-height:1.6}[data-theme=dark] .error-message{color:#9db0bf}.error-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0;flex-wrap:wrap}.error-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.error-btn.primary{background:var(--color-teal);color:#fff}.error-btn.primary:hover{background:var(--color-teal-dark);transform:translateY(-1px);box-shadow:0 8px 16px #2d937b40}.error-btn.secondary{background:var(--color-orange);color:#fff}.error-btn.secondary:hover{background:var(--color-orange-dark);transform:translateY(-1px);box-shadow:0 8px 16px #e8755240}.error-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}[data-theme=dark] .error-footer{border-top-color:#495057}.error-hint{font-size:.9rem;color:var(--color-text-faint);font-style:italic;margin:0}[data-theme=dark] .error-hint{color:#64727d}.error-details-section{margin:2rem 0;text-align:left}.error-details-toggle{background:rgba(77,184,160,.12);border:1px solid rgba(77,184,160,.35);color:var(--color-teal-dark);padding:.55rem .9rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease;width:100%;text-align:left}[data-theme=dark] .error-details-toggle{background:rgba(77,184,160,.15);color:#5cc4ac}.error-details-toggle:hover{background:rgba(77,184,160,.2);border-color:#4db8a099}.error-details-box{margin-top:1rem;padding:1rem;background:var(--color-surface-alt);border-radius:var(--radius-md);border-left:4px solid var(--color-orange)}[data-theme=dark] .error-details-box{background:rgba(0,0,0,.3)}.error-details-box code{color:var(--color-error);font-family:Courier New,monospace;font-size:.85rem;word-break:break-word}[data-theme=dark] .error-details-box code{color:#ff6b6b}.error-info-box{background:linear-gradient(135deg,rgba(77,184,160,.12) 0%,rgba(232,117,82,.1) 100%);border:1px solid rgba(77,184,160,.25);border-radius:var(--radius-lg);padding:1.5rem;margin:2rem 0;text-align:left}[data-theme=dark] .error-info-box{background:linear-gradient(135deg,rgba(77,184,160,.15) 0%,rgba(232,117,82,.12) 100%)}.error-info-box h4{margin:0 0 1rem;color:var(--color-teal);font-size:1.1rem}[data-theme=dark] .error-info-box h4{color:#5cc4ac}.error-info-box ul{margin:0;padding-left:1.5rem;list-style:none}.error-info-box li{margin:.5rem 0;color:var(--color-text-dim);font-size:.95rem}[data-theme=dark] .error-info-box li{color:var(--color-text-dim, #9db0bf)}.error-info-box li:before{content:"";display:inline-block;width:6px;height:6px;background:var(--color-orange);border-radius:50%;margin-right:.5rem}.maintenance-countdown{background:linear-gradient(135deg,var(--color-orange) 0%,var(--orange-300) 100%);color:#fff;padding:1.5rem;border-radius:var(--radius-lg);margin:2rem 0;box-shadow:0 8px 18px #e8755240}.countdown-label{font-size:.9rem;opacity:.9;margin-bottom:.5rem;font-weight:500}.countdown-time{font-size:2rem;font-weight:800;letter-spacing:2px;font-family:Courier New,monospace}.maintenance-info{border-color:#e875524d}.maintenance-info h4{color:var(--color-orange)}[data-theme=dark] .maintenance-info h4{color:#f93}.error-status-online{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,rgba(34,197,94,.18) 0%,rgba(34,197,94,.08) 100%);border-radius:var(--radius-lg);color:#166534;font-weight:600;font-size:1.1rem;margin:2rem 0}[data-theme=dark] .error-status-online{color:#4caf50}.pulse-dot{width:12px;height:12px;background:#22c55e;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}}@media (max-width: 768px){.error-page-wrapper{padding:1rem}.error-page-content{padding:2rem 1.5rem}.error-title{font-size:4rem}.error-subtitle{font-size:1.4rem}.error-message{font-size:1rem}.error-actions{flex-direction:column;width:100%}.error-btn{width:100%;justify-content:center}}@media (max-width: 480px){.error-title{font-size:3rem}.error-subtitle{font-size:1.2rem}.error-message{font-size:.95rem}.error-btn{padding:.75rem 1.25rem;font-size:.9rem}}
