@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--primary:#7a0c2e;--primary-rgb:122, 12, 46;--primary-hover:#5f0721;--primary-light:#f9ebf0;--accent:#f59e0b;--accent-light:#fef3c7;--accent-hover:#d97706;--bg:#faf8f9;--card-bg:#fff;--text-main:#1c1517;--text-muted:#7e7175;--border:#efeaeb;--border-focus:#7a0c2e;--success:#10b981;--success-light:#e6fbf3;--danger:#ef4444;--danger-light:#fee2e2;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;--shadow-sm:0 1px 3px #7a0c2e05, 0 1px 2px #7a0c2e08;--shadow-md:0 4px 6px -1px #7a0c2e08, 0 2px 4px -2px #7a0c2e08;--shadow-lg:0 20px 40px -15px #7a0c2e0d;--radius:12px;--radius-sm:8px;--radius-lg:16px;--header-bg:#ffffffd9}[data-theme=dark]{--primary:#d82c5f;--primary-hover:#e93c6f;--primary-light:#d82c5f1f;--accent:#e09a22;--accent-light:#e09a221a;--accent-hover:#fbbf24;--bg:#0b080a;--card-bg:#141012;--text-main:#f1ecef;--text-muted:#8e8488;--border:#ffffff0f;--border-focus:#d82c5f;--success:#34d399;--success-light:#34d39914;--danger:#f87171;--danger-light:#f8717114;--shadow-sm:0 1px 2px #0009;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #00000080;--shadow-lg:0 20px 40px -15px #000000b3;--header-bg:#0b080ad9}[data-theme=dark] .toggle-group{background-color:#ffffff0d}[data-theme=dark] .toggle-slider{background-color:#231c1f;box-shadow:0 3px 10px #00000080}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{overscroll-behavior:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden!important}body{font-family:var(--font-sans);color:var(--text-main);overscroll-behavior:none;background-color:#0f172a;justify-content:center;align-items:center;width:100vw;height:100dvh;line-height:1.5;display:flex;position:fixed;top:0;left:0;overflow:hidden!important}body,input,textarea,button,select,a{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],textarea{-webkit-user-select:text;user-select:text}#root{background-color:var(--bg);flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;max-width:100%!important;overflow:hidden!important}@media (width>=481px){body{background-color:var(--bg);background-image:none}#root{height:100dvh!important;max-height:none!important;box-shadow:none!important;border:none!important;border-radius:0!important}}@media (width>=768px){.view-stack{flex-direction:row-reverse!important;width:100%!important;height:100%!important;display:flex!important}.view-screen.list-view{width:var(--bps-list-pane-width,380px)!important;max-width:var(--bps-list-pane-width,380px)!important;z-index:1!important;border-right:none!important;flex-shrink:0!important;position:relative!important;transform:none!important}.pane-resize-handle{cursor:col-resize!important;z-index:2!important;background:0 0!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:9px!important;display:flex!important;position:relative!important}.pane-resize-handle:before{content:"";background:var(--border);width:1px;transition:background .15s;position:absolute;top:0;bottom:0;left:50%}.pane-resize-handle:after{content:"";background:var(--border);border-radius:2px;width:4px;height:40px;transition:background .15s,height .15s}.pane-resize-handle:hover:after,.pane-resize-handle.dragging:after{height:56px}.pane-resize-handle:hover:before,.pane-resize-handle.dragging:before,.pane-resize-handle:hover:after,.pane-resize-handle.dragging:after{background:var(--primary)}.view-screen.list-view.shifted{transform:none!important}.view-screen.detail-view{z-index:1!important;visibility:visible!important;box-shadow:none!important;border-left:none!important;flex:1!important;position:relative!important;transform:none!important}.view-screen.detail-view>div{width:100%!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important}.back-button-desktop{display:none!important}.drawer-backdrop{justify-content:center!important;align-items:center!important;padding:20px!important}.drawer-content{opacity:0;border-radius:var(--radius-lg)!important;border:1px solid var(--border)!important;width:100%!important;max-width:540px!important;max-height:90%!important;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s!important;transform:scale(.9)translateY(0)!important}.drawer-backdrop.open .drawer-content{opacity:1!important;transform:scale(1)translateY(0)!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001f}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.025em;font-weight:700}.app-header{padding-top:env(safe-area-inset-top,0px);height:calc(54px + env(safe-area-inset-top,0px));background-color:var(--header-bg);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid var(--border);z-index:10;box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:flex-end;padding-bottom:12px;padding-left:16px;padding-right:16px;display:flex}.logo-container{align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.logo-img{object-fit:contain;flex-shrink:0;width:auto;height:30px}.brand-text{color:var(--primary);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.online-badge{color:var(--text-muted);white-space:nowrap;box-sizing:border-box;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;height:32px;padding:4px 6px;font-size:11px;font-weight:500;transition:opacity .2s;display:inline-flex}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot.online{background-color:#10b981;box-shadow:0 0 6px #10b981cc}.status-dot.offline{background-color:#ef4444;box-shadow:0 0 6px #ef4444cc}.status-dot.demo{background-color:#94a3b8}.app-content{flex:1;padding:0;position:relative;overflow:hidden}.bottom-nav{height:calc(64px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(30px);border-top:.5px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:10;background-color:#fff9;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}[data-theme=dark] .bottom-nav{background-color:#0b080aa6}.nav-item{color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:72px;height:100%;font-size:11px;font-weight:600;transition:color .2s,transform .15s cubic-bezier(.34,1.56,.64,1);display:flex}.nav-item:active{transform:scale(.92)}.nav-item.active{color:var(--primary)}.nav-icon-container{border-radius:20px;justify-content:center;align-items:center;padding:6px 16px;transition:background-color .2s,transform .25s cubic-bezier(.34,1.56,.64,1);display:flex}.nav-item.active .nav-icon-container{background-color:var(--primary-light)}.screen-title{margin-bottom:4px;font-size:24px}.screen-subtitle{color:var(--text-muted);margin-bottom:20px;font-size:14px}.search-container{gap:10px;margin-bottom:20px;display:flex}.search-input-wrapper{flex:1;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:44px;font-family:var(--font-sans);background-color:var(--card-bg);color:var(--text-main);box-shadow:var(--shadow-sm);outline:none;padding:0 16px 0 40px;font-size:15px;transition:all .2s cubic-bezier(.25,.8,.25,1)}[data-theme=dark] .search-input{background-color:var(--card-bg)}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}[data-theme=dark] .search-input:focus{box-shadow:0 0 0 3px #ff375f26}.filter-btn{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;transition:all .2s cubic-bezier(.25,.8,.25,1);display:flex}[data-theme=dark] .filter-btn{background-color:var(--card-bg)}.filter-btn:hover{border-color:var(--primary)}.filter-btn.active{background-color:var(--primary-light);color:var(--primary);border-color:var(--primary)}.card-list{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:0;display:flex;overflow:hidden}.client-card{border:none;border-bottom:1px solid var(--border);cursor:pointer;background-color:#0000;border-radius:0;justify-content:space-between;align-items:center;padding:16px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .15s,box-shadow .2s;display:flex;position:relative}[data-theme=dark] .client-card{border-bottom:1px solid var(--border)}.client-card:hover{background-color:#7a0c2e08}[data-theme=dark] .client-card:hover{background-color:#d82c5f0a}.client-card:last-child{border-bottom:none}.client-card:active{transition:transform 50ms;transform:translateY(1px)scale(.98);background-color:var(--primary-light)!important}[data-theme=dark] .client-card:active{background-color:#d82c5f1f!important}.client-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.client-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.client-address{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.client-meta{color:var(--text-muted);gap:12px;font-size:11px;font-weight:600;display:flex}.client-badge-container{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;min-width:90px;display:flex}.status-badge{border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:700;display:flex}.status-badge.ok,.status-badge.untested{color:var(--text-muted);background-color:#8e8e931f}.status-badge.paused{color:var(--text-muted);background-color:#0000;border:1px dashed #8e8e9380}.status-badge.due_soon{background-color:var(--accent-light);color:var(--accent-hover)}.status-badge.overdue{background-color:var(--danger-light);color:var(--danger)}[data-theme=dark] .status-badge.due_soon{color:#ffd60a;background-color:#ffd60a24}[data-theme=dark] .status-badge.overdue{color:#ff6961;background-color:#ff453a29}.due-date-text{color:var(--text-muted);font-size:11px;font-weight:600}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-main);font-size:14px;font-weight:600}.form-control{box-sizing:border-box;border:1px solid var(--border);width:100%;height:44px;font-family:var(--font-sans);color:var(--text-main);background-color:var(--card-bg);-webkit-user-select:text;user-select:text;border-radius:10px;outline:none;padding:0 14px;font-size:16px;transition:all .2s}.form-control::placeholder{color:var(--text-muted);opacity:.55;font-style:italic}[data-theme=dark] .form-control:focus{box-shadow:0 0 0 3px #ff375f33}textarea.form-control{resize:vertical;height:auto;min-height:80px;padding:12px 14px}@supports (-webkit-touch-callout:none){input[type=date].form-control,input[type=time].form-control{appearance:none;min-height:44px;line-height:44px}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}}.toggle-group{-webkit-user-select:none;user-select:none;background-color:#78788014;border:1.5px solid #0000;border-radius:9px;width:100%;padding:3px;display:flex;position:relative}.toggle-item{height:36px;font-family:var(--font-sans);color:var(--text-muted);cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:color .18s;display:flex;position:relative}.toggle-item.active{color:var(--text-main)}.toggle-slider{background-color:var(--card-bg);z-index:1;border-radius:7px;width:calc(50% - 3px);height:calc(100% - 6px);transition:transform .28s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 3px 10px #0000001f,0 1px 3px #0000000a}.toggle-slider.slide-right{transform:translate(100%)}.toggle-slider.three-items{width:calc(33.333% - 3px)}.toggle-slider.three-items.slide-center{transform:translate(100%)}.toggle-slider.three-items.slide-right{transform:translate(200%)}.btn{height:44px;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:0 20px;font-size:16px;font-weight:600;transition:opacity .15s;display:inline-flex}.btn:active{opacity:.7}.btn-primary{background-color:var(--primary);color:#fff}.btn-outline{border:1px solid var(--border);color:var(--text-main);background-color:#0000}.btn-accent{background-color:var(--accent);color:var(--text-main)}.btn-accent:active{background-color:var(--accent-hover)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:active{background-color:#dc2626}.fab{background-color:var(--primary);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-lg);cursor:pointer;z-index:8;border:none;border-radius:28px;justify-content:center;align-items:center;transition:transform .2s;display:flex;position:absolute;bottom:88px;right:20px}.fab:active{transform:scale(.92)}.drawer-backdrop{z-index:100;opacity:0;pointer-events:none;background-color:#0f172a66;flex-direction:column;justify-content:flex-end;transition:opacity .25s ease-out;display:flex;position:absolute;inset:0;overflow:hidden}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer-content{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);padding:32px 24px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));max-height:85%;transition:transform .3s cubic-bezier(.16,1,.3,1);position:relative;overflow-y:auto;transform:translateY(100%);box-shadow:0 -10px 25px -5px #00000026;background-color:var(--card-bg)!important;border:1.5px solid var(--border)!important;border-bottom:none!important}[data-theme=dark] .drawer-content{background-color:#1c1c1ecc!important;border:1px solid #ffffff14!important;border-bottom:none!important}.drawer-content:before{content:"";background-color:var(--border);border-radius:2.5px;width:36px;height:5px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.drawer-backdrop.open .drawer-content{transform:translateY(0)}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.drawer-close{background-color:var(--bg);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;display:flex}.detail-header-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;max-width:100%;margin-bottom:20px;padding:20px;display:flex;overflow:hidden}[data-theme=dark] .detail-header-card{border-color:#ffffff14}.detail-title{color:var(--text-main);word-break:break-word;overflow-wrap:anywhere;font-size:20px;font-weight:800;line-height:1.25}.action-row{gap:10px;margin-top:4px;display:flex}.action-row .btn{border-radius:var(--radius-sm);height:42px;font-size:13px}.notes-box{background-color:var(--bg);border-radius:var(--radius-sm);color:var(--text-muted);border-left:3.5px solid var(--primary);margin-top:8px;padding:12px;font-size:13px}.section-headline{color:var(--text-main);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:16px;font-weight:700;display:flex}.history-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;padding:14px}[data-theme=dark] .history-card{border-color:#ffffff14}.history-header{color:var(--text-main);justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.history-date{color:var(--primary)}.history-counts{gap:12px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.history-notes{color:var(--text-muted);background-color:var(--bg);border-radius:4px;padding:8px;font-size:12px}.settings-section{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:16px}[data-theme=dark] .settings-section{border-color:#ffffff14}.settings-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:12px;font-size:14px;font-weight:700}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-label{font-weight:600}.settings-value{color:var(--text-muted)}.login-container{background:linear-gradient(135deg, var(--bg) 0%, #7a0c2e0a 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:380px;padding:36px 28px;box-shadow:0 10px 30px #0000000d}.splash-container{background-color:var(--bg);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.splash-logo{object-fit:contain;background-color:#fff;border-radius:50%;width:88px;height:88px;padding:8px;box-shadow:0 4px 15px #00000026}.login-logo-box{flex-direction:column;align-items:center;gap:12px;margin-bottom:40px;display:flex}.login-logo-box img{object-fit:contain;background-color:#fff;border-radius:50%;width:100px;height:100px;padding:10px;box-shadow:0 4px 15px #00000026}.login-title{text-align:center;color:var(--primary);font-size:24px;font-weight:800}.login-subtitle{color:var(--text-muted);text-align:center;margin-bottom:20px;font-size:14px}.demo-banner{background-color:var(--accent-light);border:1px solid var(--accent);color:var(--accent-hover);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:16px;padding:10px;font-size:12px;font-weight:600;display:flex}.sync-status-indicator{border-radius:50%;width:8px;height:8px;display:inline-block}.sync-status-indicator.synced{background-color:var(--success)}.sync-status-indicator.pending{background-color:var(--accent)}.view-stack{width:100%;max-width:100%;height:100%;position:relative;overflow:hidden!important}.view-screen{background-color:var(--bg);-webkit-overflow-scrolling:touch;width:100%;max-width:100%;height:100%;padding:16px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));box-sizing:border-box;will-change:transform;backface-visibility:hidden;flex-direction:column;transition:transform .35s cubic-bezier(.25,.8,.25,1);display:flex;position:absolute;top:0;left:0;overflow:hidden auto}.view-screen.list-view{z-index:1;transform:translate(0)}.view-screen.list-view.shifted{transform:translate(-20%)}.view-screen.detail-view{z-index:2;visibility:hidden;transition:transform .35s cubic-bezier(.25,.8,.25,1),visibility .35s step-end;transform:translate(100%)}.pane-resize-handle{display:none}.view-screen.detail-view.active{visibility:visible;transition:transform .35s cubic-bezier(.25,.8,.25,1),visibility step-start;transform:translate(0);box-shadow:-10px 0 30px #00000026}.test-form{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:16px}[data-theme=dark] .test-form{border-color:#ffffff14}.animate-spin{animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{vertical-align:middle;border:2.5px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.75s cubic-bezier(.4,.1,.3,.9) infinite spin;display:inline-block}.spinner-large{border:3px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s cubic-bezier(.4,.1,.3,.9) infinite spin;display:inline-block}.client-card[draggable=true]{transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .2s,box-shadow .2s}.client-card.dragging{opacity:.35;transform:scale(.96);box-shadow:inset 0 0 10px #0000001a;border:1px dashed var(--border)!important;background-color:var(--primary-light)!important}.group-header-row{transition:all .2s cubic-bezier(.2,.8,.2,1)!important}.group-header-row.drag-over{animation:1.5s ease-in-out infinite alternate pulse-glow;transform:scale(1.025);background-color:var(--primary-light)!important;border-color:var(--accent-hover)!important;box-shadow:0 4px 12px #ff375f26!important}.group-action-btn{cursor:pointer;width:38px;min-width:38px;height:38px;min-height:38px;color:var(--text-muted);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s,transform .1s;display:inline-flex}.group-action-btn:hover{color:var(--primary);background-color:var(--primary-light)}.group-action-btn:active{color:var(--primary);background-color:var(--primary-light);transform:scale(.92)}.drop-zone-standalone{transition:all .2s cubic-bezier(.2,.8,.2,1)!important}.drop-zone-standalone.drag-over{transform:scale(1.02);border-color:var(--primary)!important;color:var(--primary)!important;background-color:var(--primary-light)!important;box-shadow:0 4px 12px #0000000d!important}@keyframes pulse-glow{0%{box-shadow:0 2px 6px #ff375f1a}to{box-shadow:0 6px 16px #ff375f40}}@media (width<=767px){.bottom-nav.has-selection{display:none!important}}.hide-on-mobile{display:flex!important}@media (width<=767px){.hide-on-mobile{display:none!important}}@media (width<=480px){.parent-status-label-text{display:none}}.header-detail-container{flex:1;align-items:center;gap:8px;min-width:0;display:flex}@media (width>=768px){.header-detail-container{display:none!important}}.header-customer-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1;padding-right:60px;font-size:15px;font-weight:700;overflow:hidden}.view-screen.detail-view.active>div{animation:.35s cubic-bezier(.25,1,.5,1) forwards detail-fade-in}@keyframes detail-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-spring-in{0%{opacity:0;transform:scale(.88)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.no-scrollbar::-webkit-scrollbar{display:none!important}.no-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.day-stat-card{-webkit-tap-highlight-color:transparent;transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s}.day-stat-card.clickable:active{opacity:.9;transform:scale(.96)}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}.week-slide-prev{animation:.28s cubic-bezier(.16,1,.3,1) forwards slideInFromLeft}.week-slide-next{animation:.28s cubic-bezier(.16,1,.3,1) forwards slideInFromRight}.inv-reiter{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:16px;padding:4px;display:grid}.inv-reiter button{height:38px;font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.inv-reiter button.aktiv{background:var(--primary);color:#fff}@media (width<=420px){.inv-reiter button{flex-direction:column;gap:2px;height:50px;font-size:12px}}.inv-text{color:var(--text-muted);margin:0 0 12px;font-size:14px;line-height:1.45}.inv-mt{margin-top:12px}.inv-hinweis{border:1px solid;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.4;display:flex}.inv-hinweis svg{flex:none;margin-top:2px}.inv-ok{background:var(--success-light);border-color:var(--success);color:var(--text-main)}.inv-fehler{background:var(--danger-light);border-color:var(--danger);color:var(--text-main)}.inv-warn{background:var(--accent-light);border-color:var(--accent);color:var(--text-main)}.inv-datei{position:relative;overflow:hidden}.inv-datei span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inv-datei input{opacity:0;cursor:pointer;position:absolute;inset:0}.inv-zahlen{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.inv-zahlen div{background:var(--bg);text-align:center;border-radius:10px;padding:10px 8px}.inv-zahlen b{color:var(--text-main);font-size:22px;font-weight:800;display:block}.inv-zahlen span{color:var(--text-muted);font-size:12px}.inv-zahlen div.warn b{color:var(--accent-hover)}@media (width<=420px){.inv-zahlen{grid-template-columns:repeat(2,minmax(0,1fr))}}.inv-schalter{cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.inv-tabelle{border:1px solid var(--border);background:var(--card-bg);border-radius:10px;max-height:420px;overflow-y:auto}.inv-tabelle-lang{max-height:none;overflow:visible}.inv-tabelle>p{margin:0;padding:12px 14px}.inv-zeile{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:14px;display:flex}.inv-tabelle>:first-child.inv-zeile,.inv-tabelle>:first-child>.inv-zeile{border-top:0}.inv-zeile-knopf{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0}.inv-zeile-knopf.offen{background:var(--bg)}.inv-zeile-haupt{flex:1;min-width:0}.inv-zeile-haupt small{color:var(--text-muted);margin-top:2px;font-size:12.5px;display:block}.inv-zeile-hinweis{color:var(--danger)!important}.inv-art{white-space:nowrap;background:var(--bg);color:var(--text-muted);border-radius:6px;flex:none;padding:4px 8px;font-size:12px;font-weight:700}.inv-art.art-neu{background:var(--success-light);color:var(--success)}.inv-art.art-bekannt{background:var(--primary-light);color:var(--primary)}.inv-art.art-fremd,.inv-art.art-fehler{background:var(--danger-light);color:var(--danger)}.inv-art.art-kein_etikett,.inv-art.art-doppelt_datei{background:var(--accent-light);color:var(--accent-hover)}.inv-link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:6px;padding:0;font-size:14px;font-weight:700;text-decoration:underline;display:inline-flex}.inv-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:8px}.inv-suche{margin-bottom:0}.inv-detail{border-top:1px solid var(--border);background:var(--bg);padding:14px}.inv-zwei{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.inv-zwei .form-group{margin-bottom:12px}.inv-unter{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:18px 0 6px;font-size:12px;font-weight:700}.inv-dl{margin:0}.inv-dl div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;font-size:14px;display:flex}.inv-dl dt{color:var(--text-muted)}.inv-dl dd{text-align:right;margin:0;font-weight:600}.inv-dl dd.leer{color:var(--text-muted);font-weight:400}.inv-mini{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:13.5px;display:flex}.inv-rot{color:var(--danger);font-weight:700}.inv-fotos{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.inv-fotos a{color:var(--text-muted,#666);flex-direction:column;gap:4px;font-size:12px;text-decoration:none;display:flex}.inv-fotos img{object-fit:cover;border:1px solid var(--border,#ddd);border-radius:8px;width:140px;height:105px}.inv-link.inv-link-klein{margin-top:0;font-size:12.5px;font-weight:600}.inv-geteilt{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:16px;display:grid}.inv-geteilt .inv-tabelle-lang{max-height:calc(100dvh - 330px);overflow-y:auto}.inv-seite{position:sticky;top:0}.inv-seite .inv-detail{background:0 0;border-top:0;padding:0}.inv-seite-kopf{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;font-size:16px;display:flex}@media (width>=1024px){.inv-raster{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.inv-raster>*{margin-top:0!important;margin-bottom:0!important}.inv-raster>.inv-hinweis{grid-column:1/-1}.inv-import-felder{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:16px;display:grid}.inv-import-felder .form-group{margin-bottom:0}}.inv-reiter{position:relative}.inv-reiter button{z-index:1;transition:color .25s;position:relative}.inv-reiter button.aktiv{color:#fff;background:0 0}.inv-reiter-marke{z-index:0;width:calc((100% - 8px - (var(--n) - 1) * 4px) / var(--n));transform:translateX(calc(var(--i) * (100% + 4px)));background:var(--primary);border-radius:9px;transition:transform .38s cubic-bezier(.32,.72,0,1);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 2px 8px #7a0c2e2e}.inv-reiter button:active{transform:scale(.96)}.inv-wechsel{animation:.22s ease-out inv-wechsel-ein}@keyframes inv-wechsel-ein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.inv-reiter-marke,.inv-reiter button{transition:none}.inv-wechsel{animation:none}}.inv-symbol{background:var(--bg);width:38px;height:38px;color:var(--text-main);border:1px solid var(--border);border-radius:11px;flex:none;justify-content:center;align-items:center;display:flex}.inv-bez{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.inv-zeile-haupt small.inv-unterzeile{flex-wrap:wrap;align-items:center;margin-top:2px;display:flex}.inv-unterzeile>span+span:before{content:"·";opacity:.6;margin:0 6px}.inv-nummer{font-variant-numeric:tabular-nums;letter-spacing:.02em}.inv-status{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.inv-gruen{color:#059669}.inv-plakette{white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:6px;flex:none;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.inv-plakette.ton-faellig{color:#92400e;background:#fef3c7;border-color:#fcd34d}.inv-plakette.ton-mangel{color:var(--danger);background:#ffdad699;border-color:#ba1a1a4d}.inv-zeile-knopf.offen{background:var(--bg);box-shadow:inset 3px 0 0 var(--primary)}.inv-zeile-knopf.offen .inv-symbol{border-color:var(--primary);color:var(--primary)}.inv-seite-titel{align-items:center;gap:10px;display:flex}.inv-seite-titel small{margin-top:2px;display:block}.dlg-hintergrund{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#191c1e8c;justify-content:center;align-items:center;padding:16px;animation:.16s ease-out dlg-ein;display:flex;position:fixed;inset:0}.dlg-karte{color:#191c1e;background:#fff;border:1px solid #ddbfc266;border-radius:24px;flex-direction:column;gap:16px;width:100%;max-width:440px;padding:24px;animation:.2s cubic-bezier(.16,1,.3,1) dlg-auf;display:flex;box-shadow:0 24px 48px -12px #191c1e40}.dlg-kopf{align-items:center;gap:12px;display:flex}.dlg-kopf h3{flex:1;margin:0;font-size:18px;font-weight:700;line-height:1.3}.dlg-symbol{border-radius:16px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.dlg-gefahr{color:#ba1a1a;background:#ffdad699}.dlg-warnung{color:#b45309;background:#f59e0b1f}.dlg-normal{color:#55001c;background:#55001c14}.dlg-zu{color:#574144;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:6px}.dlg-zu:hover{background:#eceef0}.dlg-text{color:#574144;font-size:14px;line-height:1.55}.dlg-text p{margin:0 0 8px}.dlg-text p:last-child{margin-bottom:0}.dlg-feld{color:#191c1e;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.dlg-feld textarea{font:inherit;resize:vertical;color:#191c1e;-webkit-user-select:text;user-select:text;background:#f7f9fb;border:1px solid #ddbfc2;border-radius:12px;outline:none;min-height:64px;padding:10px 12px;font-size:15px;font-weight:500}.dlg-feld textarea:focus{background:#fff;border-color:#7a0c2e}.dlg-knoepfe{gap:12px;margin-top:4px;display:flex}.dlg-knoepfe button{font:inherit;cursor:pointer;border-radius:12px;flex:1;padding:12px 16px;font-size:14px;font-weight:700;transition:transform .1s}.dlg-knoepfe button:active{transform:scale(.98)}.dlg-nein{color:#191c1e;background:0 0;border:1px solid #ddbfc2}.dlg-nein:hover{background:#eceef0}.dlg-ja{color:#fff;border:0}.dlg-ja:disabled{opacity:.45;cursor:default}.dlg-ja-gefahr{background:#ba1a1a}.dlg-ja-warnung{background:#b45309}.dlg-ja-normal{background:#7a0c2e}[data-theme=dark] .dlg-karte{color:#eef0f2;background:#18191c;border-color:#2a2c30}[data-theme=dark] .dlg-text{color:#9a9ca3}[data-theme=dark] .dlg-feld{color:#eef0f2}[data-theme=dark] .dlg-feld textarea{color:#eef0f2;background:#0f1012;border-color:#2a2c30}[data-theme=dark] .dlg-nein{color:#eef0f2;border-color:#2a2c30}[data-theme=dark] .dlg-nein:hover,[data-theme=dark] .dlg-zu:hover{background:#202226}@keyframes dlg-ein{0%{opacity:0}to{opacity:1}}@keyframes dlg-auf{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.kern-inhalt{box-sizing:border-box;-webkit-overflow-scrolling:touch;width:100%;padding:16px 16px calc(32px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.kern-breite{width:100%;max-width:760px;margin:0 auto}@media (width>=1024px){.kern-inhalt{padding:24px 32px 40px}.kern-breite{max-width:1120px}}.kern-apps{display:none}@media (width>=900px){.kern-apps{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-self:center;gap:2px;padding:3px;display:flex}.kern-apps a{color:var(--text-muted);border-radius:7px;padding:5px 12px;font-size:13px;font-weight:600;text-decoration:none}.kern-apps a:hover{color:var(--text-main)}.kern-apps a.aktiv{background:var(--card-bg);color:var(--primary);box-shadow:var(--shadow-sm)}}.kern-kopf-rechts{align-items:center;gap:12px;height:32px;display:flex}.kern-abmelden{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px;font-size:14px;font-weight:600;display:inline-flex}.kern-laden{justify-content:center;align-items:center;height:100%;display:flex}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237E7175' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:42px}[data-theme=dark] select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239A9CA3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}:root:not([data-theme=dark]){--bg:#f7f9fb;--card-bg:#fff;--text-main:#191c1e;--text-muted:#574144;--border:#ddd3d5;--primary:#7a0c2e;--primary-hover:#55001c;--primary-light:#ffd9dd;--danger:#ba1a1a;--danger-light:#ffdad6;--success:#059669;--success-light:#e3f5ee;--shadow-sm:none}.settings-section{box-shadow:none;border-radius:16px}.form-control{border-color:#cfc4c6}.form-control:hover{border-color:#b9aaad}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7a0c2e1f}.settings-section-title{color:var(--text-muted);letter-spacing:.08em;font-size:12px}.inv-tabelle,.re-gruppe,.re-pos{border-color:var(--border)}.skel-block{background:linear-gradient(90deg,#eceef0 0%,#f6f7f8 40%,#eceef0 80%) 0 0/300% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skel-schimmer}.skel-karte{border:1px solid var(--border);background:var(--card-bg);border-radius:16px;overflow:hidden}.skel-zeile{border-top:1px solid var(--border);align-items:center;gap:16px;padding:14px 16px;display:flex}.skel-zeile:first-child{border-top:0}[data-theme=dark] .skel-block{background:linear-gradient(90deg,#202226 0%,#2a2c30 40%,#202226 80%) 0 0/300% 100%}@keyframes skel-schimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skel-block{animation:none}}
