@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";.sidebar{width:280px;min-width:280px;height:100dvh;background:#fff;border-right:1px solid var(--tg-separator);display:flex;flex-direction:column;overflow:hidden;transition:width .22s ease,min-width .22s ease;position:sticky;top:0;flex-shrink:0}.sidebar--collapsed{width:72px;min-width:72px}.sidebar__logo{display:flex;align-items:center;gap:12px;padding:0 16px;height:56px;border-bottom:1px solid var(--tg-separator);overflow:hidden;flex-shrink:0}.sidebar__logo-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__logo-icon svg{transition:width .22s ease,height .22s ease}.sidebar__logo .logo-text{font-weight:700;font-size:17px;color:#000;white-space:nowrap;opacity:1;transition:opacity .18s ease}.sidebar__logo .logo-text--hidden{opacity:0;pointer-events:none}.sidebar__nav{display:flex;flex-direction:column;gap:2px;padding:10px 8px;flex:1;overflow-y:auto}.sidebar__link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#555;text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s;overflow:hidden;white-space:nowrap}.sidebar__link:hover{background:var(--tg-section-bg);color:#000}.sidebar__link--active{color:var(--tg-primary);background:var(--tg-primary-light);font-weight:600}.sidebar__link-icon{display:flex;align-items:center;flex-shrink:0}.sidebar__link-text{overflow:hidden;text-overflow:ellipsis}.sidebar__bottom{border-top:1px solid var(--tg-separator);padding:8px;display:flex;flex-direction:column;gap:4px}.sidebar__collapse-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#8e8e93;font-size:13px;font-family:Poppins,sans-serif;transition:background .15s}.sidebar__collapse-btn:hover{background:var(--tg-section-bg)}.sidebar__logout-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:var(--tg-section-bg);border-radius:10px;cursor:pointer;font-family:Poppins,sans-serif;transition:background .15s;overflow:hidden}.sidebar__logout-btn:hover{background:#e2e2e7}.sidebar__avatar{width:32px;height:32px;border-radius:50%;background:var(--tg-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.sidebar__username{font-size:14px;font-weight:500;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.burger-btn{display:none;position:fixed;left:16px;top:14px;z-index:10;background:#fff;border:none;border-radius:8px;width:40px;height:40px;box-shadow:0 2px 8px #00000014;align-items:center;justify-content:center;cursor:pointer;flex-direction:column;gap:4px;padding:8px}.burger-btn span{display:block;width:22px;height:2px;background:var(--tg-primary);border-radius:2px}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:99}@media (max-width: 768px){.sidebar,.sidebar-overlay,.burger-btn{display:none}}.mobile-tabbar,.mobile-sheet{display:none}@media (max-width: 768px){.mobile-tabbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:8000;padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:#fffffff0;border-top:1px solid rgba(60,60,67,.18);box-shadow:0 -10px 30px #0f172a14;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-tabbar__rail{width:100%;max-width:560px;min-height:58px;margin:0 auto;display:flex;align-items:center;justify-content:space-around;gap:4px}.mobile-tabbar__item{flex:1 1 0;min-width:0;height:56px;border:0;border-radius:12px;background:transparent;color:#8e8e93;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:Poppins,sans-serif;font-size:10.5px;font-weight:600;line-height:1.15;cursor:pointer;transition:color .16s ease,background .16s ease;-webkit-tap-highlight-color:transparent}.mobile-tabbar__item--active{color:var(--tg-primary);background:#2aabee1a}.mobile-tabbar__icon{width:28px;height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-tabbar__label{width:100%;min-width:0;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.mobile-tabbar__more{appearance:none}.mobile-sheet{display:block;position:fixed;inset:0;z-index:8500;pointer-events:none}.mobile-sheet__backdrop{position:absolute;inset:0;border:0;background:#0f172a6b;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);cursor:pointer;opacity:0;transition:opacity .26s ease;touch-action:none}.mobile-sheet__panel{position:absolute;left:0;right:0;bottom:0;max-height:min(calc(74dvh + var(--bottom-sheet-pull-extra, 0px)),calc(100dvh - 16px - env(safe-area-inset-top)));padding:8px 14px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -22px 55px #0f172a38;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;transform:translate3d(0,calc(100% + 24px),0);transition:transform .28s cubic-bezier(.22,1,.36,1);will-change:transform}.mobile-sheet--visible{pointer-events:auto}.mobile-sheet--visible .mobile-sheet__backdrop{opacity:1}.mobile-sheet--visible .mobile-sheet__panel{transform:translateZ(0)}.mobile-sheet__panel::-webkit-scrollbar{width:0;height:0;display:none}@keyframes mobile-sheet-in{0%{transform:translateY(18px);opacity:.75}to{transform:translateY(0);opacity:1}}.mobile-sheet__handle{width:42px;height:5px;border-radius:99px;background:#c8c7cc;margin:2px auto 12px;cursor:grab;touch-action:none}.mobile-sheet__profile{min-height:62px;display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:#fff;border:1px solid rgba(60,60,67,.1)}.mobile-sheet__logo,.mobile-sheet__avatar,.mobile-sheet__link-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-sheet__profile-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.mobile-sheet__profile-text strong{color:#111827;font-size:14px;line-height:1.2}.mobile-sheet__profile-text span{color:#8e8e93;font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-sheet__avatar{width:34px;height:34px;border-radius:50%;background:var(--tg-primary);color:#fff;font-weight:700;font-size:14px}.mobile-sheet__links{display:flex;flex-direction:column;gap:8px;margin-top:12px}.mobile-sheet__link,.mobile-sheet__logout{min-height:52px;width:100%;display:flex;align-items:center;gap:12px;padding:0 12px;border:1px solid rgba(60,60,67,.1);border-radius:14px;background:#fff;color:#1c1c1e;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.mobile-sheet__link svg:last-child{margin-left:auto;color:#c8c7cc}.mobile-sheet__link--active{color:var(--tg-primary);border-color:#2aabee40;background:#eef8fe}.mobile-sheet__logout{margin-top:12px;color:#ff3b30;justify-content:center}}:root{--tg-primary: #2AABEE;--tg-primary-dark: #1A7CC5;--tg-primary-light: #D9EFFC;--tg-bg: #FFFFFF;--tg-section-bg: #EFEFF4;--tg-text: #000000;--tg-secondary-text: #8E8E93;--tg-separator: #C8C7CC;--tg-green: #4FAE4E;--tg-red: #FF3B30;--app-bottom-offset: 0px}html,body,#root{width:100%;height:100%}html{background:var(--tg-section-bg)}body{background:var(--tg-section-bg);overscroll-behavior:none}*{margin:0;padding:0;box-sizing:border-box;list-style:none;text-decoration:none;outline:none;font-family:Poppins,sans-serif}.app{display:flex;height:100vh;background-color:#fff;color:#000;overflow-y:auto}.route{flex:1;height:100vh;overflow-y:auto}.app-shell{display:flex;height:100dvh;overflow:hidden;background:var(--tg-section-bg)}.app-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;transform-origin:center center;transition:transform .28s cubic-bezier(.22,1,.36,1),border-radius .28s ease}.app-header{height:56px;background:#fff;border-bottom:1px solid var(--tg-separator);display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 20px;flex-shrink:0;z-index:20}.app-header__brand{display:none}.app-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.app-header__spacer{width:40px;height:1px}.app-add-mobile-text{display:none}.app-focus-button{width:36px;height:36px;border-radius:8px;border:1px solid var(--tg-separator);background:#fff;color:#374151;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .16s ease,color .16s ease,border-color .16s ease}.app-focus-button--active{background:#fef3c7;border-color:#fcd34d;color:#b45309}.app-main{flex:1;overflow-y:auto;overflow-x:hidden;background:#fff;padding-bottom:120px}.page-content{padding:24px 28px}.tg-paper{background:#fff;border:1px solid var(--tg-separator);border-radius:12px;padding:16px}.tg-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tg-stack{display:flex;flex-direction:column;gap:8px}.tg-divider{border:none;border-top:1px solid var(--tg-separator);margin:8px 0}@keyframes tg-spin{to{transform:rotate(360deg)}}.tg-spinner{width:20px;height:20px;border:2px solid #EFEFF4;border-top-color:var(--tg-primary);border-radius:50%;animation:tg-spin .8s linear infinite;display:inline-block;flex-shrink:0}.spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body.drawer-open .fab-root{opacity:0!important;pointer-events:none!important;transform:scale(.5)!important}html.overlay-scroll-lock,body.overlay-scroll-lock{overflow:hidden!important;overscroll-behavior:none}body.overlay-scroll-lock .app,body.overlay-scroll-lock .app-main,body.overlay-scroll-lock .route{overflow:hidden!important}.fab-root{transition:opacity .22s ease,transform .22s ease}.tg-form-body{display:flex;flex-direction:column;gap:0;padding:0 0 16px;flex:1;overflow-y:auto}.tg-section{background:#fff;margin:0 0 8px;padding:0}.tg-section:first-child{margin-top:0}.tg-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px 8px;font-size:13px;font-weight:600;color:var(--tg-secondary-text);text-transform:uppercase;letter-spacing:.04em}.tg-section-header-icon{display:flex;align-items:center;flex-shrink:0}.tg-section-content{padding:0 16px 12px;display:flex;flex-direction:column;gap:12px}.tg-section-row{display:flex;align-items:stretch;gap:10px}.tg-section-info{margin:0 16px 10px;background:#f0f9ff;border-radius:10px;padding:10px 14px;font-size:13px;color:#374151;display:flex;align-items:center;gap:8px}.tg-section-footer{padding:4px 16px 14px;font-size:12px;color:var(--tg-secondary-text)}.tg-form-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--tg-separator);padding:12px 16px;display:flex;gap:10px;z-index:10}.tg-chip-group{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px}.tg-chip{padding:6px 16px;border-radius:20px;border:1.5px solid #e5e7eb;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .15s,border-color .15s,color .15s;font-family:Poppins,sans-serif}.tg-chip:hover{border-color:var(--tg-primary);color:var(--tg-primary)}.tg-chip.active{background:var(--tg-primary);border-color:var(--tg-primary);color:#fff}.page-header{display:flex;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--tg-separator);align-items:center;gap:10px;color:#000;font-size:18px;font-weight:600;line-height:24px;button{margin-left:auto;border-radius:6px;background:#0000000d;box-shadow:0 6px 58px #c4cbd61a;padding:8px 13px;border:0;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#000;font-size:14px;font-style:normal;font-weight:500;transition:.3s ease;&:hover{background-color:#e6e6e6}&:active{scale:.95}&:disabled{cursor:not-allowed;opacity:.87;scale:1;background-color:#0000000d}}}.actions-row{display:flex;align-items:center;gap:15px;button{background-color:transparent;border:0;cursor:pointer;transition:.25s ease;&:active{scale:.95}&:disabled{cursor:not-allowed;opacity:.87;scale:1;background-color:transparent}}}.btn{font-size:14px;font-weight:500;line-height:1.5;border-radius:8px;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .15s ease}.btn.primary{background:var(--tg-primary);color:#fff;border:none}.btn.primary:hover:not(:disabled){background:var(--tg-primary-dark)}.btn.secondary{background:#f1f3f5;color:#495057;border:1px solid #dee2e6}.btn.secondary:hover:not(:disabled){background:#e9ecef}.btn:disabled{cursor:not-allowed;opacity:.75}.btn .btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:tg-spin .7s linear infinite;display:inline-block;flex-shrink:0}.btn.secondary .btn-spinner{border-color:#00000026;border-top-color:#495057}.modal-sheet-grabber{display:none}@media (max-width: 768px){:root{--app-bottom-offset: calc(72px + env(safe-area-inset-bottom)) }html,body,#root{max-width:100vw;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-x pan-y}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-ms-overflow-style:none;scrollbar-width:none;resize:none!important}*:before,*:after{-webkit-user-select:none;user-select:none;resize:none!important}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.app-main,.drawer-body,.modal-body,.tg-form-body,.form-body,.table-container,.dashboard-model-table,.chart-container,.dash-tabs,.services-toolbar{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.app-shell{background:var(--tg-section-bg)}.app-content{width:100%}body.bottom-sheet-scene-open .app-content{border-radius:var(--bottom-sheet-scene-radius, 18px);overflow:hidden;transform:translate3d(0,var(--bottom-sheet-scene-y, 0px),0) scale(var(--bottom-sheet-scene-scale, .965))}.app-header{position:sticky;top:0;height:calc(58px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 12px 8px;justify-content:space-between;background:#ffffffeb;border-bottom-color:#3c3c432e;box-shadow:0 8px 24px #0f172a0f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app-header__brand{min-width:0;display:flex;align-items:center;gap:9px}.app-header__logo{width:34px;height:34px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 6px #0f172a14}.app-header__logo svg{display:block}.app-header__title{min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.15}.app-header__title strong{max-width:136px;color:#111827;font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__title span{color:var(--tg-secondary-text);font-size:10px;font-weight:700;text-transform:uppercase}.app-header__actions{flex-shrink:0}.app-add-button{min-width:0!important;height:36px!important;padding:0 11px!important;border-radius:18px!important;font-size:12px!important}.app-add-text{display:none}.app-add-mobile-text{display:inline}.app-focus-button{width:36px;height:36px;border-radius:50%;background:#fff}.app-main{background:var(--tg-section-bg);padding-bottom:calc(104px + env(safe-area-inset-bottom))}@media (display-mode: standalone){.app-shell{min-height:100dvh}.app-header{padding-top:calc(8px + env(safe-area-inset-top))}.mobile-tabbar{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}.page-content{padding:12px}.tg-paper{border-radius:14px;border-color:#3c3c431f;box-shadow:0 1px 4px #0f172a0a}.page-header{margin:10px 10px 8px;padding:12px;border:1px solid rgba(60,60,67,.1);border-radius:16px;background:#fff;box-shadow:0 1px 5px #0f172a0d;flex-wrap:wrap}.page-header>svg{flex-shrink:0}.page-header>span,.page-header h1{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.page-header button{min-height:38px;border-radius:12px;padding:8px 12px}.actions-row{gap:8px}.actions-row button{min-width:38px;min-height:38px;border-radius:10px}.tg-form-body,.form-body{padding:14px 12px calc(18px + env(safe-area-inset-bottom))!important;gap:14px!important}.form-body .products-list{padding:0!important;gap:14px!important}.form-body .row-form{width:100%;gap:12px!important}.form-body .row-form>*{max-width:100%}.fab-root,.fab-backdrop{display:none!important;pointer-events:none!important}.drawer-backdrop{z-index:8800!important}.drawer-panel{max-width:100%!important;height:100dvh!important;box-shadow:none!important;position:relative}.drawer-scene-content{transform-origin:center center;transition:transform .28s cubic-bezier(.22,1,.36,1),border-radius .28s ease;will-change:transform}body.bottom-sheet-scene-open .drawer-scene-content{border-radius:var(--bottom-sheet-scene-radius, 18px);overflow:hidden;transform:translate3d(0,var(--bottom-sheet-scene-y, 0px),0) scale(var(--bottom-sheet-scene-scale, .965))}.drawer-swipe-edge{position:absolute;top:0;bottom:0;width:52px;z-index:4;touch-action:none}.drawer-panel--right .drawer-swipe-edge{left:0}.drawer-panel--left .drawer-swipe-edge{right:0}.drawer-header{height:calc(56px + env(safe-area-inset-top))!important;padding:env(safe-area-inset-top) 14px 0!important;touch-action:none;cursor:grab}.drawer-header>span{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.drawer-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}.modal-backdrop{align-items:flex-end!important;padding:10px 10px calc(10px + env(safe-area-inset-bottom))!important}.modal-panel{width:100%!important;max-width:100%!important;height:auto!important;max-height:min(88dvh,720px)!important;overflow:hidden!important;border-radius:20px 20px 16px 16px!important;will-change:transform}.modal-header{padding:14px 16px!important;cursor:grab;touch-action:none}.modal-body{padding:14px 16px!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-sheet-grabber{width:46px;height:5px;border-radius:999px;background:#c8c7cc;display:block;flex-shrink:0;margin:8px auto 4px;cursor:grab;touch-action:none}.confirm-panel{padding:8px 20px 20px!important;gap:18px!important}}
