:root{--button-color: #229f65;--button-hover-color: #2ebd80;--error-color: #ff4d4d;--border-color: #3ecf8e;--header-bg: white;--header-color: #1c1c1c;--menu-bg: #e2e2e2;--menu-border: #ccc;--menu-text: #000;--main-bg: #ffffff;--body-bg: #fafafa;--input-color: #000;--input-bg:white;--home-accent: #3ecf8e;--home-bg-1: #f4f7f5;--home-bg-2: #e9efeb;--home-surface: rgba(255, 255, 255, .72);--home-tile: rgba(18, 40, 29, .04);--home-tile-hover: rgba(18, 40, 29, .07);--home-border: rgba(15, 30, 22, .1);--home-text: #10231a;--home-muted: rgba(20, 40, 30, .62);--home-elev: 0 20px 50px rgba(20, 50, 35, .12);--home-status-ring: #ffffff;--app-bg: #f4f6f8;--app-surface: #ffffff;--app-card: #ffffff;--app-sidebar-bg: #ffffff;--app-border: rgba(15, 30, 22, .1);--app-border-strong: rgba(15, 30, 22, .16);--app-text: #10161d;--app-text-muted: #5b6672;--app-primary: #229f65;--app-accent: #3ecf8e;--app-primary-soft: rgba(34, 159, 101, .12);--app-hover: rgba(15, 30, 22, .04);--app-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 12px 28px rgba(16, 24, 40, .06);--app-radius: 16px;--app-radius-sm: 10px;--app-sidebar-w: 264px;--app-topbar-h: 64px}:root.dark{--header-bg: #1c1c1c;--header-color: white;--menu-bg: #2a2a2a;--menu-border: #333;--menu-text: white;--main-bg: #1c1c1c;--input-color: white;--input-bg:#3a3a3a;--home-bg-1: #1c1c1c;--home-bg-2: #171717;--home-surface: rgba(42, 42, 42, .75);--home-tile: rgba(255, 255, 255, .035);--home-tile-hover: rgba(255, 255, 255, .065);--home-border: rgba(255, 255, 255, .09);--home-text: #f2f2f2;--home-muted: rgba(233, 240, 237, .58);--home-elev: 0 24px 60px rgba(0, 0, 0, .5);--home-status-ring: #2a2a2a;--app-bg: #1c1c1c;--app-surface: #242424;--app-card: #2a2a2a;--app-sidebar-bg: #1c1c1c;--app-border: #333333;--app-border-strong: #444444;--app-text: #f2f2f2;--app-text-muted: rgba(255, 255, 255, .6);--app-primary: #229f65;--app-accent: #3ecf8e;--app-primary-soft: rgba(34, 159, 101, .16);--app-hover: rgba(255, 255, 255, .05);--app-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 16px 40px rgba(0, 0, 0, .36)}@media (max-width: 1024px){.main-container{width:90%;height:85%;padding:1.5em}.header-left,.right-section{width:10%;max-width:20vw;min-width:3rem}.center-section{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu{right:0;width:max-content;min-width:8rem}.batch-card{flex-direction:column;align-items:flex-start}.batch-right{align-items:flex-start;width:100%}}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif!important;transition:background-color .3s}body{background-color:var(--main-bg, #1c1c1c);color:#fff}main{display:flex;flex-direction:column;align-items:center;margin-top:10vh}a{text-decoration:none}.header-text{display:flex;gap:.5em;align-items:center;padding:.5em 1em;font-weight:700;background:none;text-align:center}.home-page{display:flex;flex-direction:column;height:100vh;width:100%}.header-bar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:var(--header-bg, #2a2a2a);color:var(--header-color, white);position:fixed;top:0;width:100%;z-index:1000;height:3.5rem}.header-left{width:10%;min-width:3rem;max-width:10vw}.main-container{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--menu-bg, #2a2a2a);color:var(--menu-text, white);margin:auto;margin-top:5rem;padding:2em;width:80%;height:80%;border-radius:4px;box-shadow:0 0 60px #0003;border-top:5px;border-width:10px 0px 0px 0px;border-style:solid;border-color:var(--border-color)}.main-container>*{flex-grow:1;width:100%;display:flex;justify-content:center;align-items:center}.main-container.page-container{height:auto;min-height:calc(100vh - 7rem);justify-content:flex-start}.main-container.page-container>*{flex-grow:0}.main-container.auth-form{width:90%;max-width:420px;position:relative;overflow:hidden;padding:2.25rem 1.75rem;border-radius:18px;border-width:1px;border-color:var(--app-border, var(--menu-border));background:var(--app-card, var(--menu-bg));box-shadow:var(--app-shadow, 0 0 60px rgba(0, 0, 0, .2))}.main-container.auth-form:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--app-primary, #229f65),var(--app-accent, #3ecf8e),var(--app-primary, #229f65),transparent)}.auth-field{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:100%;max-width:300px;margin:0 auto 1rem;text-align:left}.auth-field>label{align-self:flex-start}.auth-field>label{font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.auth-field input,.auth-field .password-field{width:100%;max-width:100%;margin-top:0}.auth-field .password-field input{max-width:100%}.auth-sub{width:100%;text-align:center;font-size:.85rem;color:var(--app-text-muted, var(--menu-text));margin:-.25rem 0 .75rem}#github-repo-link{display:flex;gap:.5em;margin-top:0;align-items:center;padding:.5em 1em;font-weight:700;background:none;cursor:pointer;color:var(--border-color)}#github-repo-link:hover{background-color:#3ecf8e1a}input{padding:1rem;border-radius:4px;outline:none;box-shadow:0 1px 1px #0000000d;background-color:var(--input-bg, #3a3a3a);border:1px solid #4a4a4a;font-size:1rem;color:var(--input-color, white);margin-top:7px;width:100%;max-width:300px}button,a{font-size:16px;padding:1em;background:none;cursor:pointer;color:#fff;background:#229f65;border:none;border-radius:4px;transition:background-color .3s;width:100%;max-width:300px;text-align:center;margin-top:1em;display:flex;justify-content:center;align-items:center;height:40px;font-weight:700;border:1px solid #33b379}a{border:none}button:hover,a:hover{background:#2ebd80}.home-link{position:absolute;min-width:3rem;width:auto;padding:.5em .8em;top:0;left:1rem;text-decoration:none;border-radius:4px;z-index:1000;font-weight:500}.home-link:hover{text-decoration:underline}.auth-link{background:transparent;color:var(--border-color)}.auth-link:hover{background:transparent;text-decoration:underline}#divider{flex-grow:0;width:100%;height:2px;background-color:var(--border-color);margin:1em 0;border-radius:100%}.user-menu{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;background-color:var(--header-bg, #2a2a2a);border:1px solid var(--menu-border, #4a4a4a);border-radius:4px;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:999}.dropdown-menu a,.dropdown-menu button{color:var(--header-color, white);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;font-size:14px;padding:.25rem .5rem}.dropdown-menu a:hover,.dropdown-menu button:hover{text-decoration:underline}.dropdown-menu .active{font-weight:700;text-decoration:underline}.center-section{width:80vw;text-align:justify;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right-section{display:flex;gap:.5rem;justify-content:flex-end;width:10%;min-width:3rem;max-width:10vw}.icon-button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;display:flex;justify-content:center;align-items:center;width:2rem;height:2rem;flex-shrink:0}.header-bar .icon-button{background:transparent;color:var(--header-color, #ffffff);padding:0}.header-bar .icon-button svg{display:block}.header-bar .icon-button:hover{color:var(--border-color)}.batch-card{position:relative;display:flex;align-items:flex-start;justify-content:space-between;background-color:var(--menu-bg, #2a2a2a);border:1px solid var(--menu-border, #3a3a3a);border-radius:12px;padding:1rem 1.15rem;margin-bottom:1rem;width:100%;max-width:600px;gap:1rem;box-shadow:0 4px 16px #00000029;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.batch-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #00000047;border-color:#3ecf8e73}.batch-remove{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.85rem;height:1.85rem;padding:0;margin:0;border:1.5px solid var(--menu-border, #3a3a3a);border-radius:8px;background:none;color:var(--error-color);font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.batch-remove:hover{background-color:var(--error-color);border-color:var(--error-color);color:#fff}.batch-left{display:flex;align-items:center;height:100%;gap:1em;flex:1;cursor:pointer}.batch-right{display:flex;flex-direction:column;align-items:flex-end}.batch-timer{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--button-color)}.batch-image{width:3em;height:3em;border-radius:50%;object-fit:cover}.batch-title{font-size:1.2em;font-weight:700;color:var(--menu-text, white)}.batch-subtext{color:var(--menu-text, white);font-size:.9em}.batch-button{padding:.5rem 1rem;background-color:var(--button-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;max-width:30%;min-width:100px;width:100%}.batch-button:hover{background-color:var(--button-hover-color)}.batch-button.compact{width:auto;max-width:none;white-space:nowrap}.recharts-cartesian-grid line{stroke:#88888829;stroke-dasharray:none!important}.recharts-cartesian-grid-vertical{display:none}.recharts-cartesian-axis-tick-value{fill:#8a8a8a;font-size:11px}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:#8888884d}.recharts-line-curve{stroke-width:2px}.recharts-line-dot{r:3}.recharts-line-dots circle{stroke-width:1.5px}.recharts-default-tooltip{background-color:var(--menu-bg)!important;border:1px solid var(--menu-border)!important;border-radius:8px!important;box-shadow:0 8px 24px #0000004d;padding:.5rem .75rem!important}.recharts-default-tooltip .recharts-tooltip-label{color:var(--menu-text)!important;font-weight:700;margin-bottom:.3rem}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem;align-items:start}.batches-layout{display:flex;gap:20px;align-items:stretch;width:100%}.batches-col-active,.batches-col-boxes{background:var(--app-surface, var(--main-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:12px;padding:16px 18px}.batches-col-active{flex:1;min-width:0}.batches-col-boxes{width:30%;min-height:50vh;display:flex;flex-direction:column;justify-content:space-between}.batches-layout h2.header-text{padding:0;margin:0 0 14px;font-size:18px;justify-content:center;text-align:center}.batches-layout .batch-card{max-width:none;margin-bottom:0}.create-box-button{background-color:var(--button-color);color:#fff;padding:15px 20px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;font-weight:700;width:100%;max-width:none;white-space:nowrap;margin-top:1rem}.create-box-button{display:flex;align-items:center;justify-content:center;gap:.4rem;transition:background-color .15s ease,transform .15s ease}.create-box-button:hover{background-color:var(--button-hover-color);transform:translateY(-1px)}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;margin-top:1rem}.item-card{max-width:none;align-items:center}.item-card .batch-image,.item-thumb-fallback{width:3.25rem;height:3.25rem;border-radius:12px;flex-shrink:0}.item-card .batch-image{object-fit:cover}.item-thumb-fallback{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.35rem;color:#fff;text-transform:uppercase;background:linear-gradient(135deg,var(--button-color),var(--button-hover-color))}.item-card .batch-title{font-size:1.15rem}.item-card .batch-subtext{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;margin-top:.2rem;padding:.2rem .65rem;font-size:.76rem;color:var(--menu-text);opacity:.85;background:#88888829;border-radius:999px}.item-card .batch-subtext:before{content:"⏱";font-size:.8rem}.item-card .batch-button{align-self:center;width:auto;max-width:none;white-space:nowrap;padding:.55rem 1.2rem}.items-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;width:100%}.items-search{position:relative;flex:1 1 260px;min-width:200px;display:flex;align-items:center}.items-search-icon{position:absolute;left:.85rem;font-size:1.25rem;color:var(--menu-text);opacity:.55;pointer-events:none}.items-search input{width:100%;max-width:none;height:44px;margin:0;padding:0 2.4rem;font-size:.95rem;color:var(--input-color);background-color:var(--input-bg);border:1px solid var(--menu-border, #3a3a3a);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.items-search input:focus{outline:none;border-color:var(--button-color);box-shadow:0 0 0 3px #229f6538}.items-search-clear{position:absolute;right:.5rem;width:1.6rem;height:1.6rem;min-width:0;max-width:none;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;color:var(--menu-text);background:transparent;border:none;border-radius:50%;cursor:pointer;opacity:.6}.items-search-clear:hover{opacity:1;background:#8883}.items-categories{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.category-chip{width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:.4rem .9rem;font-size:.85rem;font-weight:500;color:var(--menu-text);background-color:#88888824;border:1px solid var(--menu-border, #3a3a3a);border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.category-chip:hover{border-color:var(--button-color);background-color:#88888824}.category-chip.active{background-color:var(--button-color);border-color:var(--button-color);color:#fff;font-weight:600}.category-chip.clear{color:var(--error-color);background:transparent;border-color:transparent}.category-chip.clear:hover{background:#ef44441f;border-color:transparent}.items-empty{grid-column:1 / -1;text-align:center;color:var(--menu-text);opacity:.6;padding:2rem 0}.home-page{position:relative;isolation:isolate;background:radial-gradient(58rem 40rem at 12% -12%,rgba(34,159,101,.1),transparent 60%),radial-gradient(52rem 42rem at 105% 112%,rgba(34,159,101,.08),transparent 55%),linear-gradient(180deg,var(--home-bg-1),var(--home-bg-2))}.home-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E")}.main-container.home-menu{position:relative;height:auto;max-width:400px;width:92%;margin-top:auto;margin-bottom:auto;gap:1.15rem;padding:2rem 1.6rem 1.4rem;border:1px solid var(--home-border);border-radius:20px;background:var(--home-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--home-elev);overflow:hidden}.main-container.home-menu:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--home-accent),var(--button-hover-color),var(--home-accent),transparent);background-size:200% 100%;animation:home-sheen 6s linear infinite}.main-container.home-menu>*{flex-grow:0}.home-brand{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center}.home-wordmark{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--home-text)}.home-greeting{margin:0;font-size:.88rem;color:var(--home-muted)}.home-profile{display:flex;align-items:center;gap:.8rem;padding:.7rem .85rem;border:1px solid var(--home-border);border-radius:14px;background:var(--home-tile)}.home-profile-avatar{position:relative;flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#fff;text-transform:uppercase;background:linear-gradient(135deg,var(--button-hover-color),var(--button-color))}.home-profile-status{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--home-accent);border:2px solid var(--home-status-ring);animation:home-pulse 2.6s ease-out infinite}.home-profile-meta{display:flex;flex-direction:column;min-width:0;text-align:left;line-height:1.3}.home-profile-name{font-size:.95rem;font-weight:700;color:var(--home-text)}.home-profile-email{font-size:.8rem;color:var(--home-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-divider{height:1px;background:linear-gradient(90deg,transparent,var(--home-border),transparent)}.home-nav{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:100%}.home-card{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:.85rem;width:100%;max-width:none;height:auto;margin:0;padding:.85rem 1rem;background:var(--home-tile);color:var(--home-text);border:1px solid var(--home-border);border-radius:16px;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.home-card:hover{transform:translateY(-2px);background:var(--home-tile-hover);border-color:#229f658c;box-shadow:0 14px 30px #00000042,0 0 0 1px #229f652e}.home-card:focus-visible{outline:2px solid var(--home-accent);outline-offset:2px}.home-card-accent{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;border-radius:0 3px 3px 0;background:linear-gradient(var(--button-hover-color),var(--home-accent));transition:height .25s ease}.home-card:hover .home-card-accent{height:42%}.home-card-icon{flex-shrink:0;width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--button-hover-color),var(--button-color));box-shadow:0 6px 16px #229f654d;transition:transform .2s ease}.home-card:hover .home-card-icon{transform:scale(1.06)}.home-card-text{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.home-card-title{font-size:1rem;font-weight:700;color:var(--home-text)}.home-card-desc{font-size:.8rem;color:var(--home-muted)}.home-card-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--home-muted);transition:transform .2s ease,color .2s ease}.home-card:hover .home-card-arrow{transform:translate(4px);color:var(--home-accent)}.home-card.is-primary{background:linear-gradient(#229f651f,#229f651f),var(--home-tile);border-color:#229f6573;box-shadow:0 10px 30px #00000038,0 0 24px -6px #229f6573}.home-card.is-primary .home-card-accent{height:58%;animation:home-accent-glow 2.8s ease-in-out infinite}.home-card.is-primary:hover{box-shadow:0 16px 36px #00000047,0 0 30px -4px #229f658c}.home-signout{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:auto;min-width:0;max-width:none;height:auto;align-self:center;margin:.15rem 0 0;padding:.55rem 1.25rem;background:transparent;color:var(--home-muted);border:1px solid var(--home-border);border-radius:12px;font-weight:600;font-size:.88rem;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.home-signout-icon{display:inline-flex}.home-signout:hover{background:#ef44441f;border-color:#ef444480;color:var(--error-color)}.home-signout:focus-visible{outline:2px solid var(--error-color);outline-offset:2px}@keyframes home-sheen{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes home-pulse{0%{box-shadow:0 0 #229f658c}70%{box-shadow:0 0 0 6px #229f6500}to{box-shadow:0 0 #229f6500}}@keyframes home-accent-glow{0%,to{opacity:.85}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.main-container.home-menu:before,.home-profile-status,.home-card.is-primary .home-card-accent{animation:none}.home-card,.home-card-icon,.home-card-arrow,.home-card-accent,.home-signout{transition:none}}.batch-right .batch-subtext{font-size:.8rem;color:var(--menu-text);opacity:.7}.batch-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:#8888882e;border-radius:0 0 12px 12px;overflow:hidden}.batch-progress-fill{height:100%;transition:width 1s linear,background-color .3s ease}.box-component-button{max-width:none;height:auto;margin-top:0;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.box-component-button:hover{transform:translateY(-2px)}.box-drop-over{border-color:var(--button-color)!important;background-color:#3ecf8e1f!important}.date-range{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap;width:100%}.date-range-field{display:flex;align-items:center;gap:.5rem}.date-range-field input{margin-top:0;width:auto}.chart-controls{display:flex;align-items:flex-start;justify-content:center;gap:1rem;flex-wrap:wrap;width:100%}@media (max-width: 480px){.date-range-field{flex-direction:column;align-items:flex-start;gap:.2rem}}@media (max-width: 768px){.batches-layout{flex-direction:column}.batches-col-boxes{width:100%;min-height:auto;margin-top:1.5rem}}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:1rem;z-index:10000;animation:dialogOverlayIn .16s ease-out}@keyframes dialogOverlayIn{0%{opacity:0}to{opacity:1}}.dialog{background-color:var(--menu-bg);padding:1.75rem;border-radius:16px;border:1px solid var(--menu-border, #3a3a3a);box-shadow:0 24px 64px #00000080;display:flex;flex-direction:column;gap:1rem;width:90%;max-width:420px;text-align:center;animation:dialogIn .18s ease-out}@keyframes dialogIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.dialog h3{margin:0 0 .25rem;font-size:1.25rem;font-weight:700;color:var(--menu-text)}.dialog input:not([type=checkbox]),.dialog select{height:44px;margin:0;padding:0 .8rem;border-radius:10px;border:1px solid var(--menu-border, #3a3a3a);background-color:var(--input-bg);color:var(--input-color);font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}.dialog input:not([type=checkbox]):focus,.dialog select:focus{outline:none;border-color:var(--button-color);box-shadow:0 0 0 3px #229f6538}.dialog-actions{display:flex;justify-content:space-between;gap:.75rem}.dialog-actions button{flex:1;height:44px;margin:0;border-radius:10px;font-weight:700;font-size:.95rem;border:none;cursor:pointer;transition:filter .15s ease,background-color .15s ease}.dialog-actions button:hover{filter:brightness(1.06)}.dialog-btn-secondary{background-color:#8888882e!important;color:var(--menu-text)!important;border:1px solid var(--menu-border, #3a3a3a)!important}.dialog-btn-secondary:hover{background-color:#8888884d!important;filter:none}.dialog-remove-btn{width:auto;min-width:0;max-width:none;height:34px;margin:0;padding:0 .9rem;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--error-color);background-color:#ef44441f;border:1px solid rgba(239,68,68,.4);cursor:pointer;transition:background-color .15s ease,color .15s ease}.dialog-remove-btn:hover{background-color:var(--error-color);color:#fff}.tabs-container{display:flex;width:100%;margin:1rem 0;gap:0}.tab-button{width:50%;padding:1em;font-weight:700;border:none;color:#fff;cursor:pointer;background-color:var(--menu-bg);transition:background-color .3s}.unit-select{padding:1rem;border-radius:4px;outline:none;box-shadow:0 1px 1px #0000000d;background-color:var(--input-bg, #3a3a3a);border:1px solid #4a4a4a;font-size:1rem;color:var(--input-color, white);margin-top:7px;width:100%;max-width:300px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;cursor:pointer}:root.dark .unit-select{background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}:root:not(.dark) .unit-select{background-image:url('data:image/svg+xml;utf8,<svg fill="%23000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}.unit-select:focus{border-color:var(--border-color)}.unit-select.time-select{width:auto;min-width:4.5rem;margin-top:0;padding:.55rem 2rem .55rem .7rem;background-position:right .6rem center}.week-picker{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid var(--menu-border);border-radius:8px;background-color:var(--menu-bg)}.week-picker-label{color:var(--menu-text);font-size:.9rem;font-weight:600;text-align:left}.week-picker-controls{display:flex;align-items:center;gap:.4rem}.week-picker-controls input[type=date]{width:auto;min-width:9.5rem;max-width:none;height:36px;margin-top:0;padding:0 .6rem;font-size:.9rem}.week-picker-controls .week-step{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;min-width:0;max-width:none;height:36px;margin:0;padding:0;border:1px solid var(--menu-border);border-radius:6px;background-color:var(--main-bg);color:var(--menu-text);font-size:1.2rem;line-height:1;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.week-picker-controls .week-step:hover{background-color:var(--button-color);border-color:var(--button-color);color:#fff}.week-picker-range{color:var(--menu-text);font-size:.78rem;text-align:left;opacity:.75;white-space:nowrap}.item-select-panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:100%;max-height:260px;overflow-y:auto;padding:.3rem;background-color:var(--menu-bg);border:1px solid var(--menu-border);border-radius:8px;box-shadow:0 8px 24px #0006;text-align:left}.item-select-row{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;margin:0;padding:.4rem .5rem;border-radius:6px;color:var(--menu-text);font-size:.92rem;font-weight:400;text-align:left;white-space:nowrap;cursor:pointer}.item-select-row:hover{background-color:#7f7f7f2e}.item-select-row input[type=checkbox]{flex:none;width:16px;height:16px;min-width:0;margin:0;accent-color:var(--button-color);cursor:pointer}.item-select-row-all{font-weight:600}.item-select-divider{height:1px;margin:.3rem .25rem;background-color:var(--menu-border)}.week-picker .unit-select.item-select{width:100%;min-width:11rem;max-width:none;height:36px;margin-top:0;padding:0 2rem 0 .6rem;font-size:.9rem;background-position:right .6rem center}.dialog-content input,.dialog-content .unit-select{margin-bottom:.5rem}.dialog-field{display:flex;flex-direction:column;gap:.3rem;width:100%;margin-top:10px;text-align:left}.dialog-field>label{font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--menu-text);opacity:.65;text-align:left}.dialog-field input:not([type=checkbox]),.dialog-field select{width:100%;max-width:100%;margin:0}.dialog-field .password-field{width:100%;max-width:100%;margin:0}.dialog-field-row{display:flex;gap:.75rem;width:100%}.dialog-field-row .dialog-field{flex:1;min-width:0}.dialog-check{display:flex;align-items:center;gap:.55rem;width:100%;margin:12px 0 4px;color:var(--menu-text);font-size:.95rem;text-align:left;cursor:pointer}.dialog-check input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--button-color)}.view-nav{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;margin-bottom:1.5rem}.view-nav .view-toggle-buttons{width:fit-content;max-width:100%;margin-bottom:0}.view-subtabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;width:100%}.view-subtabs .subtab-button{width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:.4rem .95rem;border:1px solid var(--menu-border, #4a4a4a);border-radius:999px;background:none;background-color:transparent;color:var(--menu-text);font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.view-subtabs .subtab-button:hover:not(.active){background-color:var(--menu-bg);border-color:var(--button-color)}.view-subtabs .subtab-button.active{background-color:var(--button-color);border-color:var(--button-color);color:#fff;font-weight:600}.view-toggle-buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem;margin:0 auto 1.5rem;width:100%;max-width:1100px;background-color:var(--main-bg);border:1px solid var(--menu-border, #4a4a4a);border-radius:12px;padding:.35rem}.view-toggle-buttons.compact{max-width:380px}.toggle-button{flex:1 1 auto;width:auto;max-width:200px;min-width:110px;margin-top:0;padding:.6rem .9rem;font-size:.9rem;font-weight:500;border:none;background-color:transparent;color:var(--menu-text);cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;white-space:nowrap;border-radius:8px;text-align:center}.toggle-button.active{background-color:var(--button-color);color:#fff;font-weight:600;box-shadow:0 1px 3px #0003}.toggle-button:hover:not(.active){background-color:var(--menu-bg)}@media (max-width: 768px){.view-toggle-buttons{flex-direction:column;align-items:stretch;gap:.25rem}.toggle-button{width:100%;min-width:0;max-width:none}.view-nav .view-toggle-buttons{width:100%}}@media (max-width: 768px){.batch-card{flex-direction:column;align-items:flex-start}.batch-right{align-items:flex-start;width:100%}}.subscription-banner{position:fixed;top:3.5rem;left:0;right:0;z-index:900;background-color:#b45309;color:#fff;text-align:center;padding:.5rem 1rem;font-size:.9rem}.subscription-banner a{display:inline;width:auto;max-width:none;height:auto;margin:0 0 0 .4rem;padding:0;background:none;border:none;border-radius:0;color:#fff;font-weight:600;text-decoration:underline}.password-field{position:relative;display:flex;align-items:center;width:100%;max-width:300px;margin-top:7px;flex-grow:0}.password-field input{width:100%;max-width:none;margin:0;padding-right:2.5rem}.password-toggle{position:absolute;right:0;top:0;height:100%;width:2.5rem;min-width:0;max-width:none;margin:0;padding:0;background:none;border:none;border-radius:0;color:var(--input-color, #999);opacity:.7;cursor:pointer;display:flex;align-items:center;justify-content:center}.password-toggle:hover{background:none;opacity:1;color:var(--border-color)}.app-shell{display:flex;min-height:100vh;background:var(--app-bg);color:var(--app-text)}.app-topnav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px}.app-nav-item{display:flex;align-items:center;gap:8px;width:auto;max-width:none;height:auto;margin:0;padding:8px 12px;background:none;border:none;border-radius:10px;color:var(--app-text-muted);font-size:14px;font-weight:600;text-align:left;justify-content:flex-start;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.app-nav-item:hover{background:var(--app-hover);color:var(--app-text)}.app-nav-item.active{background:var(--app-primary-soft);color:var(--app-text)}.app-nav-item.active .app-nav-icon{color:var(--app-primary)}.app-nav-icon{width:18px;height:18px;flex-shrink:0}.app-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;font-size:13px;font-weight:700;color:#fff;text-transform:uppercase;background:linear-gradient(135deg,var(--app-accent),var(--app-primary))}.app-avatar-lg{width:40px;height:40px;font-size:15px}.app-mini-name{font-size:13px;font-weight:700;color:var(--app-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-mini-email{font-size:12px;color:var(--app-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-body{flex:1;min-width:0;display:flex;flex-direction:column}.app-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;height:var(--app-topbar-h);padding:0 24px;background:color-mix(in srgb,var(--app-surface) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--app-border)}.app-topbar-spacer{flex:1}.app-topbar-actions{display:flex;align-items:center;gap:8px}.app-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;max-width:none;margin:0;padding:0;background:transparent;color:var(--app-text-muted);border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:700;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.app-icon-btn:hover{background:var(--app-hover);color:var(--app-text);border-color:var(--app-border)}.app-rest-select{display:flex;flex-direction:column;gap:1px}.app-rest-select-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted);padding-left:2px}.app-rest-select select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;height:34px;margin:0;padding:0 10px;width:auto;max-width:220px;background:var(--app-card);color:var(--app-text);border:1px solid var(--app-border);border-radius:9px;font-size:13px;font-weight:600;cursor:pointer}.app-pop{position:relative}.app-pop-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;z-index:70;background:var(--app-card);border:1px solid var(--app-border);border-radius:14px;box-shadow:var(--app-shadow);padding:8px}.app-profile-btn{display:inline-flex;align-items:center;gap:6px;width:auto;max-width:none;height:40px;margin:0;padding:3px 6px 3px 3px;background:transparent;color:var(--app-text-muted);border:1px solid transparent;border-radius:999px;transition:background-color .15s ease,border-color .15s ease}.app-profile-btn:hover{background:var(--app-hover);border-color:var(--app-border)}.app-profile-head{display:flex;align-items:center;gap:10px;padding:6px 8px 10px;border-bottom:1px solid var(--app-border);margin-bottom:6px}.app-profile-id{display:flex;flex-direction:column;min-width:0}.app-pop-item{display:flex;align-items:center;gap:10px;width:100%;max-width:none;height:auto;margin:0;padding:9px 10px;background:none;border:none;border-radius:9px;color:var(--app-text);font-size:14px;font-weight:600;text-align:left;justify-content:flex-start;cursor:pointer}.app-pop-item:hover{background:var(--app-hover)}.app-pop-item.danger:hover{background:#ef44441f;color:#ff6b6b}.app-content{width:100%;max-width:1600px;margin:0 auto;padding:0 24px}.app-content-main{padding-top:20px;padding-bottom:40px}.app-content-main>main,.app-content-main>section,.app-content-main>.home-page{display:block;width:100%;margin:0;align-items:stretch}.app-shell .home-page{height:auto;min-height:0;width:100%;background:none;display:block;isolation:auto}.app-shell .home-page:before{display:none}.app-shell .main-container{width:100%;max-width:100%;height:auto;min-height:0;margin:0;border-radius:var(--app-radius);border:1px solid var(--app-border);background:var(--app-card);box-shadow:var(--app-shadow)}.app-shell .main-container.page-container,.app-shell .main-container.settings-container{min-height:0}@media (max-width: 900px){.app-rest-select{display:none}.app-topnav{position:static;transform:none;min-width:0;overflow-x:auto}}@media (max-width: 640px){.app-content{padding:0 14px}.app-topbar{padding:0 14px;gap:8px}.app-nav-item span:not(.app-nav-icon){display:none}.app-nav-item{padding:8px 10px}}@media (prefers-reduced-motion: reduce){.app-nav-item,.app-icon-btn{transition:none}}.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;width:100%}.kpi-card{display:flex;flex-direction:column;gap:3px;min-width:0;padding:16px;text-align:left;background:var(--app-card);border:1px solid var(--app-border);border-radius:var(--app-radius-sm);box-shadow:var(--app-shadow)}.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:6px;border-radius:9px;color:var(--app-primary);background:var(--app-primary-soft)}.kpi-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-text-muted)}.kpi-value{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--app-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-card-wide .kpi-value{font-size:19px}.kpi-caption{font-size:12px;color:var(--app-text-muted)}.kpi-skeleton{min-height:24px;width:60%;border-radius:6px;background:linear-gradient(90deg,var(--app-hover),var(--app-border),var(--app-hover));background-size:200% 100%;animation:kpi-shimmer 1.2s linear infinite}@keyframes kpi-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1200px){.kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 460px){.kpi-row{grid-template-columns:1fr}}.app-shell .view-toggle-buttons{background:var(--app-surface);border-color:var(--app-border);border-radius:12px}.app-shell .toggle-button{color:var(--app-text-muted)}.app-shell .toggle-button:hover:not(.active){background:var(--app-hover);color:var(--app-text)}.app-shell .toggle-button.active{background:var(--app-primary);color:#fff;box-shadow:0 1px 3px #00000040}.app-shell .view-subtabs .subtab-button{background:var(--app-card);border-color:var(--app-border);color:var(--app-text-muted)}.app-shell .view-subtabs .subtab-button:hover:not(.active){background:var(--app-hover);border-color:var(--app-border-strong);color:var(--app-text)}.app-shell .view-subtabs .subtab-button.active{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.app-shell .chart-controls{background:var(--app-card);border:1px solid var(--app-border);border-radius:var(--app-radius-sm);box-shadow:var(--app-shadow);padding:14px 18px;gap:18px;width:fit-content;max-width:100%;margin:0 auto;justify-content:center}.app-shell .recharts-cartesian-grid line{stroke:var(--app-border)}.app-shell .recharts-cartesian-axis-line,.app-shell .recharts-cartesian-axis-tick-line{stroke:var(--app-border)}.app-shell .recharts-cartesian-axis-tick-value,.app-shell .recharts-label,.app-shell .recharts-text{fill:var(--app-text-muted)}.app-shell .recharts-legend-item-text{color:var(--app-text)!important}.app-shell .recharts-default-tooltip{background:var(--app-card)!important;border:1px solid var(--app-border)!important;border-radius:10px!important;box-shadow:var(--app-shadow)!important;padding:8px 12px!important}.app-shell .recharts-tooltip-label{color:var(--app-text)!important;font-weight:600}.app-shell .recharts-tooltip-cursor{fill:var(--app-hover)!important}.status-page{min-height:100vh;margin:0;padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.status-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:420px;padding:2.5rem 2rem;background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:18px;box-shadow:var(--app-shadow, 0 0 60px rgba(0, 0, 0, .2));text-align:center}.status-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--app-primary, #229f65),var(--app-accent, #3ecf8e),var(--app-primary, #229f65),transparent)}.status-code{margin:0;font-size:46px;font-weight:800;letter-spacing:-.02em;color:var(--app-primary, var(--button-color))}.status-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;color:var(--app-text, var(--menu-text))}.status-text{margin:0;max-width:300px;font-size:.9rem;line-height:1.5;color:var(--app-text-muted, var(--menu-text))}.status-page .status-action{width:auto;min-width:0;max-width:none;height:auto;margin-top:1.1rem;padding:.6rem 1.6rem;border-radius:10px;font-weight:600;font-size:.92rem}.status-loading{display:flex;flex-direction:column;align-items:center;gap:.9rem}.status-ring{width:50px;height:50px;border-radius:50%;background:conic-gradient(from 0deg,#229f6500,#229f6540 90deg,#229f65 250deg,#3ecf8e 340deg,#3ecf8e00 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 5px));will-change:transform;animation:status-rotate .85s linear infinite;filter:drop-shadow(0 0 6px rgba(62,207,142,.3))}.status-loading-text{margin:0;font-size:.95rem;font-weight:600;color:var(--app-text-muted, var(--menu-text))}@keyframes status-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.status-ring{animation-duration:1.4s}}.pdf-export{background:#fff!important}.pdf-export,.pdf-export *{color:#111!important;text-shadow:none!important;box-shadow:none!important}.pdf-export .recharts-text,.pdf-export .recharts-cartesian-axis-tick-value,.pdf-export .recharts-label,.pdf-export .recharts-pie-label-text{fill:#333!important}.pdf-export .recharts-legend-item-text{color:#111!important}.pdf-export .recharts-cartesian-grid line,.pdf-export .recharts-cartesian-axis-line,.pdf-export .recharts-cartesian-axis-tick-line{stroke:#ccc!important}.pdf-export .recharts-default-tooltip{display:none!important}.pdf-export .items-table,.pdf-export .items-table th,.pdf-export .items-table td{background:#fff!important;border-color:#ddd!important}.pdf-export .items-table thead th{background:#f3f4f6!important}.pdf-export .items-table tbody tr:nth-child(2n) td{background:#fafafa!important}.pdf-export .edit-column{display:none!important}.stats-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;margin-bottom:1.1rem}.stats-summary-card{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:150px;padding:.8rem 1rem;background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:var(--app-radius-sm, 10px)}.stats-summary-unit{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.stats-summary-value{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;color:var(--app-text, var(--menu-text))}.stats-summary-delta{font-size:.8rem}.items-table tbody tr.stats-total-row td{background:var(--app-hover, rgba(255, 255, 255, .05))!important;border-top:1px solid var(--app-border-strong, var(--menu-border))}.time-ranges-picker{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start;text-align:left}.time-ranges-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.time-range-row{display:flex;align-items:center;gap:.45rem}.time-range-row input[type=time]{width:auto;max-width:none;height:34px;margin:0;padding:0 .5rem;font-size:.85rem;background:var(--input-bg);color:var(--input-color);border:1px solid var(--app-border, var(--menu-border));border-radius:8px}.time-range-dash{color:var(--app-text-muted, var(--menu-text))}.time-range-preview{min-width:90px;font-size:.8rem;font-weight:600;color:var(--app-text, var(--menu-text))}.time-range-remove{width:26px;height:26px;min-width:0;max-width:none;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--app-text-muted, var(--menu-text));border:1px solid var(--app-border, var(--menu-border));border-radius:6px;font-size:.95rem;line-height:1}.time-range-remove:hover:not(:disabled){background:#ef44441f;border-color:#ef444480;color:var(--error-color)}.time-range-remove:disabled{opacity:.35;cursor:not-allowed}.time-range-add{width:auto;min-width:0;max-width:none;height:auto;margin:.1rem 0 0;padding:.35rem .8rem;background:transparent;color:var(--app-primary, var(--button-color));border:1px solid var(--app-border, var(--menu-border));border-radius:8px;font-size:.82rem;font-weight:600}.time-range-add:hover{background:var(--app-primary-soft, rgba(34, 159, 101, .12))}.time-ranges-hint{font-size:.72rem;color:var(--app-text-muted, var(--menu-text))}.app-shell a:focus-visible,.app-shell button:focus-visible,.app-shell select:focus-visible,.app-shell input:focus-visible,.app-shell [tabindex]:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px;border-radius:6px}.items-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;table-layout:fixed;box-sizing:border-box;border:1px solid var(--app-border, var(--menu-border));border-radius:12px;overflow:hidden}.items-table thead th{position:sticky;top:0;z-index:2;background-color:var(--app-surface, var(--menu-bg));color:var(--app-text-muted, var(--menu-text));font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.85rem .9rem;border-bottom:1px solid var(--app-border, var(--menu-border))}.items-table thead th:first-child{border-top-left-radius:12px}.items-table thead th:last-child{border-top-right-radius:12px}.items-table th,.items-table td{padding:.7rem .9rem;text-align:left;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--app-text, var(--menu-text));border-bottom:1px solid var(--app-border, var(--menu-border))}.items-table tbody tr:nth-child(2n) td{background-color:var(--app-hover, rgba(128, 128, 128, .06))}.items-table tbody tr:hover td{background-color:var(--app-primary-soft, rgba(22, 163, 74, .1))}.items-table tbody tr:last-child td{border-bottom:none}.items-table th .sort-button{display:inline-flex;width:auto;min-width:unset;max-width:unset;height:auto;margin:0 0 0 .3rem;padding:0 .15rem;background:none;border:none;color:inherit;font-size:.8rem;cursor:pointer;vertical-align:middle}.items-table th .sort-button:hover{background:none;color:var(--button-color)}.items-table th:first-child,.items-table td:first-child{border-left:none}.items-table-container{width:100%;max-height:560px;overflow:auto}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;margin-bottom:.75rem}.table-search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:320px;padding:0 .7rem;height:38px;background:var(--app-card, var(--input-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:10px;color:var(--app-text-muted, var(--menu-text));transition:border-color .15s ease,box-shadow .15s ease}.table-search:focus-within{border-color:var(--app-primary, var(--button-color));box-shadow:0 0 0 3px #229f652e}.table-search-input{flex:1;width:auto;min-width:0;height:100%;margin:0;padding:0;border:none;background:transparent;color:var(--app-text, var(--menu-text));font-size:.9rem;box-shadow:none}.table-search-input:focus{outline:none}.table-count{flex-shrink:0;font-size:.8rem;font-weight:600;color:var(--app-text-muted, var(--menu-text))}.cell-skeleton{display:block;height:14px;width:70%;border-radius:5px;background:linear-gradient(90deg,var(--app-hover, #2a2a2a),var(--app-border, #3a3a3a),var(--app-hover, #2a2a2a));background-size:200% 100%;animation:cell-shimmer 1.2s linear infinite}.skeleton-row td{border-bottom:1px solid var(--app-border, var(--menu-border))}@keyframes cell-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.table-empty{text-align:center!important;white-space:normal!important;padding:2.5rem 1rem!important;color:var(--app-text-muted, var(--menu-text))!important}.table-empty svg{display:block;margin:0 auto .6rem;opacity:.5}.table-empty span{font-size:.9rem}.items-table .edit-column{width:50px;text-align:center;padding:.25rem}.items-table .edit-column button{padding:.25rem .5rem;font-size:.8rem}.edit-button{width:fit-content!important;min-width:unset!important;max-width:unset!important;padding:.25rem .5rem!important;font-size:.8rem!important;height:auto!important}.week-picker.date-range{position:relative}.date-range-trigger{display:inline-flex;align-items:center;gap:.5rem;width:auto;min-width:11rem;max-width:none;height:36px;margin:0;padding:0 .7rem;font-size:.9rem;font-weight:500;color:var(--input-color);background-color:var(--input-bg);border:1px solid var(--menu-border);border-radius:8px;cursor:pointer}.date-range-trigger:hover{border-color:#16a34a}.date-range-clock{opacity:.7}.date-range-trigger-text{flex:1;text-align:left;white-space:nowrap}.date-range-caret{opacity:.6;font-size:.7rem}.date-range-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:34rem;max-width:92vw;padding:.75rem;background-color:var(--menu-bg);color:var(--menu-text);border:1px solid var(--menu-border);border-radius:10px;box-shadow:0 12px 30px #00000059;text-align:left}.date-range-times{display:flex;align-items:center;gap:.5rem;padding-bottom:.6rem;margin-bottom:.6rem;border-bottom:1px solid var(--menu-border)}.date-range-times input[type=time]{width:auto;max-width:none;height:32px;margin:0;padding:0 .5rem;font-size:.85rem;color:var(--input-color);background-color:var(--input-bg);border:1px solid var(--menu-border);border-radius:6px}.date-range-body{display:flex;gap:.75rem}.date-range-presets{list-style:none;margin:0;padding:0;min-width:9.5rem;display:flex;flex-direction:column;gap:2px}.date-range-presets button{width:100%;height:auto;margin:0;padding:.45rem .6rem;font-size:.85rem;text-align:left;color:var(--menu-text);background:transparent;border:none;border-radius:6px;cursor:pointer}.date-range-presets button:hover{background-color:#16a34a1f}.date-range-presets button.active{background-color:#16a34a2e;color:#16a34a;font-weight:600}.date-range-cal{flex:1}.date-range-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-weight:600}.date-range-cal-head button{width:28px;height:28px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--menu-text);background:transparent;border:1px solid var(--menu-border);border-radius:6px;cursor:pointer}.date-range-cal-head button:hover{border-color:#16a34a}.date-range-weekdays,.date-range-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-range-weekdays span{text-align:center;font-size:.72rem;opacity:.6;padding:.2rem 0}.date-range-day{width:100%;height:34px;margin:0;padding:0;font-size:.82rem;color:var(--menu-text);background:transparent;border:none;border-radius:6px;cursor:pointer}.date-range-day:hover{background-color:#16a34a26}.date-range-day.muted{opacity:.35}.date-range-day.in-range{background-color:#16a34a29;border-radius:0}.date-range-day.endpoint{background-color:#16a34a;color:#fff;font-weight:600;border-radius:6px}.date-range-warning{margin:.6rem 0 0;padding:.4rem .6rem;font-size:.78rem;color:#b45309;background-color:#f59e0b1f;border-radius:6px}.date-range-actions{display:flex;align-items:center;justify-content:space-between;margin-top:.6rem}.date-range-actions-right{display:flex;gap:.5rem}.date-range-actions button{width:auto;height:32px;margin:0;padding:0 .9rem;font-size:.85rem;border-radius:6px;cursor:pointer}.date-range-copy,.date-range-today{color:var(--menu-text);background:transparent;border:1px solid var(--menu-border)}.date-range-copy:hover,.date-range-today:hover{border-color:#16a34a}.date-range-apply{color:#fff;background-color:#16a34a;border:1px solid #16a34a;font-weight:600}.date-range-apply:hover{background-color:#15803d}.main-container.settings-container{justify-content:flex-start;height:auto;min-height:0;padding-bottom:2rem;max-width:1040px;margin:0 auto}.settings-categories-wrapper{width:100%;display:flex;flex-direction:column;gap:1.5rem}.settings-category{width:100%;background-color:var(--app-card, #1e222b);padding:1.6rem 1.75rem;border-radius:var(--app-radius, 16px);border:1px solid var(--app-border, #3a3a3a);box-shadow:var(--app-shadow, 0 6px 22px rgba(0, 0, 0, .2))}.settings-category h2{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;color:var(--app-text, var(--header-color));margin:0 0 1.25rem;text-align:center}.settings-category h2:empty{display:none;margin:0}.settings-category h3{font-size:.95rem;font-weight:600;color:var(--app-text, var(--header-color));margin:0 0 1rem;text-align:left}.setting-field{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;margin-bottom:1.1rem}.setting-field label{min-width:0;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--menu-text);opacity:.55;padding:0;text-align:left}.input-with-button{width:100%;display:flex;align-items:center;gap:.6rem}.settings-category input:not([type=checkbox]),.settings-category select,.settings-category textarea{flex-grow:1;width:auto;height:40px;margin-top:0;padding:0 .7rem;font-size:.9rem;color:var(--input-color);background-color:var(--input-bg);border:1px solid var(--menu-border, #3a3a3a);border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.settings-category textarea{height:auto;padding:.5rem .7rem}.settings-category input:not([type=checkbox]):focus,.settings-category select:focus,.settings-category textarea:focus{outline:none;border-color:var(--button-color);box-shadow:0 0 0 3px #229f6538}.setting-field input.input-dirty{border-color:var(--button-hover-color);box-shadow:0 0 0 3px #2ebd802e}.save-button{padding:0 1rem;height:40px;font-size:.85rem;width:auto;min-width:72px;margin-top:0;font-weight:600;border-radius:8px;flex-shrink:0}.input-with-button input[type=checkbox]{flex-grow:0;width:auto}.delete-button{background-color:var(--error-color, #ef4444);color:#fff;border:none;padding:0 .9rem;height:34px;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:600;margin-top:0;transition:filter .15s ease;width:auto}.delete-button:hover{filter:brightness(.92)}.delete-button:disabled{opacity:.5;cursor:not-allowed}.restaurant-setting{padding:0}.item-setting{margin-bottom:.6rem;background-color:var(--app-surface, var(--main-bg));border:1px solid var(--app-border, #3a3a3a);border-radius:12px;overflow:hidden}.item-setting:last-of-type{margin-bottom:0}.item-collapse-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;max-width:none;height:auto;margin:0;padding:.9rem 1.25rem;background:none;border:none;border-radius:0;color:var(--app-text, var(--menu-text));font-size:.98rem;font-weight:600;text-align:left;cursor:pointer;transition:background-color .15s ease}.item-collapse-header:hover{background:var(--app-hover, rgba(255, 255, 255, .04))}.item-setting.is-open .item-collapse-header{border-bottom:1px solid var(--app-border, #3a3a3a)}.item-collapse-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-collapse-chevron{flex-shrink:0;color:var(--app-text-muted, var(--menu-text));transition:transform .2s ease}.item-setting.is-open .item-collapse-chevron{transform:rotate(180deg);color:var(--app-primary, var(--button-color))}.item-collapse-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.5rem;align-items:start;padding:1.35rem 1.25rem}.item-collapse-body .setting-field{margin-bottom:0}.item-collapse-body .setting-field:has(textarea){grid-column:1 / -1}.item-collapse-body .delete-button{grid-column:1 / -1;justify-self:end}.item-collapse-body>p{grid-column:1 / -1;text-align:center}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--menu-text);font-weight:400}.checkbox-label input[type=checkbox]{width:auto;margin:0;transform:scale(1.15);accent-color:var(--button-color)}.sub-status-loading{width:100%;text-align:center;color:var(--app-text-muted, var(--menu-text));margin:1rem 0}.sub-status-card{display:flex;flex-direction:column;align-items:center;gap:.45rem;width:100%;max-width:440px;margin:0 auto;padding:1.75rem 1.5rem;background:var(--app-surface, var(--main-bg));border:1px solid var(--app-border, #3a3a3a);border-radius:14px;text-align:center}.sub-status-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .85rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.sub-status-badge .sub-status-dot{width:8px;height:8px;border-radius:50%}.sub-status-badge.is-active{color:var(--app-accent, #3ecf8e);background:#229f6524;border:1px solid rgba(34,159,101,.4)}.sub-status-badge.is-active .sub-status-dot{background:var(--app-accent, #3ecf8e)}.sub-status-badge.is-none{color:var(--app-text-muted, var(--menu-text));background:#8888881f;border:1px solid var(--app-border, #3a3a3a)}.sub-status-badge.is-none .sub-status-dot{background:var(--app-text-muted, #888)}.sub-plan-name{margin:.35rem 0 0;font-size:1.45rem;font-weight:800;letter-spacing:-.01em;color:var(--app-text, var(--menu-text))}.sub-facts{display:flex;justify-content:center;gap:2.25rem;margin:.6rem 0 .35rem}.sub-fact dt{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.sub-fact dd{margin:.15rem 0 0;font-size:.95rem;font-weight:600;color:var(--app-text, var(--menu-text))}.sub-empty-hint{margin:.1rem 0 .35rem;max-width:300px;font-size:.88rem;line-height:1.45;color:var(--app-text-muted, var(--menu-text))}.settings-category .sub-action{width:auto;min-width:0;max-width:none;height:auto;margin-top:.6rem;padding:.6rem 1.6rem;border-radius:10px;font-weight:600;font-size:.92rem}.sub-owner-note{margin:.5rem 0 0;font-size:.8rem;color:var(--app-text-muted, var(--menu-text))}.users-list{display:flex;flex-direction:column;gap:.6rem}.user-row{display:flex;align-items:center;gap:.85rem;padding:.8rem .9rem;background:var(--app-surface, transparent);border:1px solid var(--app-border, #3a3a3a);border-radius:12px;transition:border-color .15s ease}.user-row:hover{border-color:var(--app-border-strong, var(--button-color))}.user-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--button-color),var(--button-hover-color));text-transform:uppercase}.user-info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.user-name{color:var(--app-text, var(--header-color));font-weight:600;font-size:.95rem}.user-email{color:var(--app-text-muted, var(--menu-text));font-size:.82rem}.user-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem}.role-badge{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:.12rem .5rem;border-radius:999px;color:var(--menu-text);background-color:#8888882e;border:1px solid var(--menu-border, #3a3a3a)}.role-badge.owner{color:#fff;background-color:var(--button-color);border-color:var(--button-color)}.role-badge.super{color:#eab308;background-color:#eab30824;border-color:#eab30866}.user-actions{display:flex;gap:.5rem;flex-shrink:0}.user-edit-btn,.user-delete-btn{width:auto;height:34px;min-width:0;margin-top:0;padding:0 .85rem;font-size:.82rem;font-weight:600;border-radius:8px}.user-delete-btn{background-color:var(--error-color, #ef4444)}.user-delete-btn:hover{filter:brightness(.92);background-color:var(--error-color, #ef4444)}@media (max-width: 768px){.settings-category{padding:1.1rem}.item-collapse-body{grid-template-columns:1fr;padding:1rem}.user-row{flex-wrap:wrap}}.main-container.subscription-container{justify-content:flex-start;height:auto;min-height:0;max-width:1000px;margin:0 auto;padding:2rem 1.25rem 2.5rem;gap:.5rem;overflow-y:visible}.main-container.subscription-container stripe-pricing-table{display:block;width:100%;flex-grow:0}.main-container.subscription-container p[style*="color: red"]{color:var(--error-color);font-size:.9rem;width:100%;text-align:center;margin:1rem 0}.main-container.subscription-container .subscription-loading{width:100%;text-align:center;color:var(--app-text-muted, var(--menu-text));margin:2rem 0}.main-container.subscription-container .current-plan-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%;max-width:460px;margin:1rem auto;padding:1.75rem 1.5rem;background:var(--app-surface, var(--main-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:14px;text-align:center}.current-plan-eyebrow{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--app-primary, var(--button-color))}.current-plan-name{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:var(--app-text, var(--menu-text))}.current-plan-facts{display:flex;justify-content:center;gap:2.25rem;margin:.75rem 0 .5rem}.current-plan-fact dt{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.current-plan-fact dd{margin:.15rem 0 0;font-size:.98rem;font-weight:600;color:var(--app-text, var(--menu-text))}.main-container.subscription-container .current-plan-manage{width:auto;min-width:0;max-width:none;height:auto;margin-top:.75rem;padding:.6rem 1.5rem;border-radius:10px;font-weight:600;font-size:.92rem}.current-plan-error{margin:.5rem 0 0;font-size:.85rem;color:var(--error-color)}
