@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--ts-jade:#2ecc71;--ts-jade-dark:#27ae60;--ts-jade-light:#58d68d;--ts-gold:#f39c12;--ts-gold-dark:#e67e22;--ts-gold-light:#f5b041;--ts-bg-primary:#0f0f1a;--ts-bg-secondary:#1a1a2e;--ts-bg-card:#22223aa6;--ts-bg-card-hover:#2e2e4ebf;--ts-bg-sidebar:#0f0f1aeb;--ts-bg-input:#ffffff0f;--ts-border:#ffffff14;--ts-border-hover:#ffffff26;--ts-border-jade:#2ecc714d;--ts-text-primary:#f0f0f5;--ts-text-secondary:#a0a0b8;--ts-text-muted:#6b6b82;--ts-shadow-sm:0 2px 8px #0003;--ts-shadow-md:0 4px 16px #0000004d;--ts-shadow-lg:0 8px 32px #0006;--ts-shadow-jade:0 0 20px #2ecc7126;--ts-blur:blur(16px);--ts-blur-heavy:blur(24px);--ts-sidebar-width:260px;--ts-sidebar-collapsed:72px;--ts-header-height:64px;--ts-radius-sm:8px;--ts-radius-md:12px;--ts-radius-lg:16px;--ts-radius-xl:20px;--ts-transition:.25s cubic-bezier(.4, 0, .2, 1);--ts-transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--ts-font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--ts-font);background:var(--ts-bg-primary);color:var(--ts-text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,select,textarea{color:inherit;font-family:inherit}h1{letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}h2{letter-spacing:-.01em;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:600}h3{font-size:clamp(1rem,2vw,1.125rem);font-weight:600}h4{font-size:clamp(.875rem,1.5vw,1rem);font-weight:500}.ts-glass{background:var(--ts-bg-card);-webkit-backdrop-filter:var(--ts-blur);border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);transition:var(--ts-transition)}.ts-glass:hover{background:var(--ts-bg-card-hover);border-color:var(--ts-border-hover);box-shadow:var(--ts-shadow-md)}.ts-text-gradient{background:linear-gradient(135deg, var(--ts-jade), var(--ts-gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.ts-badge{letter-spacing:.02em;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.ts-badge--jade{color:var(--ts-jade-light);background:#2ecc7126}.ts-badge--gold{color:var(--ts-gold-light);background:#f39c1226}.ts-badge--danger{color:#e74c3c;background:#e74c3c26}.ts-badge--info{color:#5dade2;background:#3498db26}.ts-btn{border-radius:var(--ts-radius-sm);transition:var(--ts-transition);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;display:inline-flex}.ts-btn--primary{background:linear-gradient(135deg, var(--ts-jade), var(--ts-jade-dark));color:#fff;box-shadow:0 2px 12px #2ecc714d}.ts-btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px #2ecc7173}.ts-btn--secondary{background:var(--ts-bg-input);border:1px solid var(--ts-border);color:var(--ts-text-primary)}.ts-btn--secondary:hover{background:var(--ts-bg-card-hover);border-color:var(--ts-border-hover)}.ts-btn--ghost{color:var(--ts-text-secondary)}.ts-btn--ghost:hover{color:var(--ts-text-primary);background:var(--ts-bg-input)}.ts-input{background:var(--ts-bg-input);border:1px solid var(--ts-border);border-radius:var(--ts-radius-sm);width:100%;color:var(--ts-text-primary);transition:var(--ts-transition);outline:none;padding:10px 14px;font-size:.875rem}.ts-input:focus{border-color:var(--ts-jade);box-shadow:0 0 0 3px #2ecc7126}.ts-input::placeholder{color:var(--ts-text-muted)}.search-clear-btn{width:22px;height:22px;color:var(--ts-text-muted);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-clear-btn:hover{color:var(--ts-text-primary);background:#ffffff26}select.ts-input{appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23a0a0b8%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-position:right .7rem top 50%;background-repeat:no-repeat;background-size:.65rem;padding-right:2rem}select.ts-input option{background-color:var(--ts-bg-secondary);color:var(--ts-text-primary);padding:.5rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #2ecc7133}50%{box-shadow:0 0 20px #2ecc7166}}.animate-fadeIn{animation:.4s ease-out forwards fadeIn}.animate-slideIn{animation:.3s ease-out forwards slideInLeft}.sidebar{width:var(--ts-sidebar-width);background:var(--ts-bg-sidebar);-webkit-backdrop-filter:var(--ts-blur-heavy);border-right:1px solid var(--ts-border);z-index:100;transition:width var(--ts-transition), transform var(--ts-transition);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar--collapsed{width:var(--ts-sidebar-collapsed)}.sidebar__brand{flex-shrink:0;align-items:center;gap:12px;padding:20px 20px 16px;display:flex}.sidebar__logo{background:linear-gradient(135deg, var(--ts-jade), var(--ts-jade-dark));border-radius:var(--ts-radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar__title{white-space:nowrap;font-size:1.15rem;font-weight:700}.sidebar__nav{flex-direction:column;flex:1;gap:4px;padding:8px 12px;display:flex;overflow-y:auto}.sidebar__link{border-radius:var(--ts-radius-sm);color:var(--ts-text-secondary);transition:var(--ts-transition);white-space:nowrap;align-items:center;gap:12px;padding:10px 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.sidebar__link:hover{color:var(--ts-text-primary);background:var(--ts-bg-input)}.sidebar__link--active{color:var(--ts-jade);border:1px solid var(--ts-border-jade);box-shadow:var(--ts-shadow-jade);background:#2ecc711a}.sidebar__link-text{text-overflow:ellipsis;overflow:hidden}.sidebar__group-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ts-text-muted);padding:16px 12px 6px;font-size:.7rem;font-weight:700}.sidebar__group-divider{background:var(--ts-border);height:1px;margin:12px 12px 4px}.sidebar--collapsed .sidebar__link{justify-content:center;padding:10px}.sidebar--collapsed .sidebar__brand{justify-content:center;padding:20px 12px 16px}.sidebar__toggle{border-radius:var(--ts-radius-sm);color:var(--ts-text-muted);transition:var(--ts-transition);justify-content:center;align-items:center;margin:12px;padding:8px;display:flex}.sidebar__toggle:hover{background:var(--ts-bg-input);color:var(--ts-text-primary)}.sidebar-overlay{z-index:99;background:#0009;display:none;position:fixed;inset:0}@media (width<=640px){.sidebar{width:var(--ts-sidebar-width);transform:translate(-100%)}.sidebar--mobile-open{transform:translate(0)}.sidebar--collapsed{width:var(--ts-sidebar-width)}.sidebar--collapsed .sidebar__link{justify-content:flex-start;padding:10px 12px}.sidebar--collapsed .sidebar__brand{justify-content:flex-start;padding:20px 20px 16px}.sidebar-overlay{display:block}.sidebar__toggle{display:none}}@media (width>=641px) and (width<=1024px){.sidebar{width:var(--ts-sidebar-collapsed)}.sidebar .sidebar__link{justify-content:center;padding:10px}.sidebar .sidebar__brand{justify-content:center;padding:20px 12px 16px}.sidebar .sidebar__link-text,.sidebar .sidebar__title{display:none}}.header{height:var(--ts-header-height);background:var(--ts-bg-sidebar);-webkit-backdrop-filter:var(--ts-blur);border-bottom:1px solid var(--ts-border);z-index:50;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.header__left{flex-shrink:0;align-items:center;gap:16px;display:flex}.header__menu-btn{border-radius:var(--ts-radius-sm);color:var(--ts-text-secondary);transition:var(--ts-transition);padding:8px;display:none}.header__menu-btn:hover{background:var(--ts-bg-input);color:var(--ts-text-primary)}.header__title{white-space:nowrap;font-size:1.125rem;font-weight:600}.header__center{flex:1;max-width:420px}.header__search{align-items:center;display:flex;position:relative}.header__search-icon{color:var(--ts-text-muted);pointer-events:none;position:absolute;left:12px}.header__search-input{padding-left:36px}.header__right{flex-shrink:0;align-items:center;gap:12px;display:flex}.header__icon-btn{border-radius:var(--ts-radius-sm);width:40px;height:40px;color:var(--ts-text-secondary);transition:var(--ts-transition);justify-content:center;align-items:center;display:flex;position:relative}.header__icon-btn:hover{background:var(--ts-bg-input);color:var(--ts-text-primary)}.header__model-btn{border-radius:var(--ts-radius-sm);color:var(--ts-text-secondary);cursor:pointer;transition:var(--ts-transition);white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:500;display:flex}.header__model-btn:hover{background:var(--ts-bg-input);color:var(--ts-text-primary)}.header__model-btn--active{color:#38b2ac;background:#38b2ac26;border-color:#38b2ac66}.header__model-btn--active:hover{background:#38b2ac40}.header__badge{background:linear-gradient(135deg, var(--ts-gold), var(--ts-gold-dark));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.header__user{position:relative}.header__avatar{background:linear-gradient(135deg, var(--ts-jade), var(--ts-gold));color:#fff;cursor:pointer;width:36px;height:36px;transition:var(--ts-transition);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.header__avatar img{object-fit:cover;width:100%;height:100%;display:block}.header__avatar-initial{letter-spacing:.02em;font-size:.9rem;font-weight:700}.header__avatar:hover{box-shadow:var(--ts-shadow-jade);transform:scale(1.05)}.header__menu{background:var(--ts-bg-sidebar);min-width:220px;-webkit-backdrop-filter:var(--ts-blur);border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-lg);z-index:80;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 10px);right:0}.header__menu-info{border-bottom:1px solid var(--ts-border);margin-bottom:4px;padding:10px 12px}.header__menu-name{color:var(--ts-text-primary);font-size:.9rem;font-weight:600}.header__menu-email{color:var(--ts-text-muted);word-break:break-all;margin-top:2px;font-size:.75rem}.header__menu-role{margin-top:6px}.header__menu-item{border-radius:var(--ts-radius-sm);color:var(--ts-text-secondary);cursor:pointer;transition:var(--ts-transition);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.header__menu-item:hover{background:var(--ts-bg-input);color:var(--ts-text-primary)}@media (width<=1024px){.header__menu-btn{display:flex}}@media (width<=640px){.header{padding:0 16px}.header__center{display:none}.header__title{font-size:1rem}}.bottom-nav{background:var(--ts-bg-sidebar);height:60px;-webkit-backdrop-filter:var(--ts-blur-heavy);border-top:1px solid var(--ts-border);z-index:100;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav__tab{color:var(--ts-text-muted);border-radius:var(--ts-radius-sm);transition:var(--ts-transition);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;font-size:.65rem;font-weight:500;text-decoration:none;display:flex}.bottom-nav__tab:hover{color:var(--ts-text-secondary)}.bottom-nav__tab--active{color:var(--ts-jade)}.bottom-nav__tab--active .bottom-nav__label{font-weight:600}.bottom-nav__label{letter-spacing:.02em}@media (width<=640px){.bottom-nav{display:flex}}.model-panel{z-index:200;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172af2;border-left:1px solid #ffffff14;flex-direction:column;min-width:280px;max-width:800px;height:100vh;animation:.25s ease-out slideInRight;display:flex;position:fixed;top:0;right:0}.model-panel__splitter{cursor:col-resize;z-index:5;justify-content:center;align-items:center;width:6px;display:flex;position:absolute;top:0;bottom:0;left:-3px}.model-panel__splitter-handle{background:#ffffff26;border-radius:2px;width:4px;height:48px;transition:background .2s,height .2s}.model-panel__splitter:hover .model-panel__splitter-handle,.model-panel__splitter:active .model-panel__splitter-handle{background:#ffffff59;height:64px}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.model-panel__titlebar{height:var(--ts-header-height);box-sizing:border-box;background:#0f172ab3;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.model-panel__title-group{align-items:center;gap:10px;display:flex;position:relative}.model-panel__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.75rem;font-weight:600}.model-panel__model-select{appearance:none;color:var(--text-color,#e2e8f0);cursor:pointer;letter-spacing:.03em;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;outline:none;padding:.35rem 1.8rem .35rem .6rem;font-size:.75rem;font-weight:600;transition:all .2s}.model-panel__model-select:hover{background:#ffffff1a;border-color:#ffffff40}.model-panel__model-select:focus{border-color:#38b2ac80;box-shadow:0 0 0 2px #38b2ac26}.model-panel__model-select option{color:#e2e8f0;background:#1e293b}.model-panel__select-icon{pointer-events:none;color:var(--text-muted,#fff6);position:absolute;right:8px}.model-panel__btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.3rem;transition:all .2s;display:flex}.model-panel__btn:hover{color:var(--text-color);background:#ffffff1a}.model-panel .model-viewer__toolbar{background:#0f172a99;border-bottom:1px solid #ffffff14;flex-wrap:wrap;gap:.25rem;padding:.5rem .75rem;display:flex}.model-panel .model-viewer__pose-btn{color:var(--text-muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:.3rem .65rem;font-size:.75rem;font-weight:500;transition:all .2s}.model-panel .model-viewer__pose-btn:hover:not(:disabled){color:var(--text-color);background:#ffffff1f}.model-panel .model-viewer__pose-btn--active{color:#38b2ac;background:#38b2ac33;border-color:#38b2ac66}.model-panel__viewer{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.model-panel__viewpoint-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#0f172abf;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:4px;padding:4px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 4px 16px #0006}.model-panel__viewpoint-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.model-panel__viewpoint-btn svg{margin-right:0!important}.model-panel__viewpoint-btn:hover{background:#ffffff1f}.model-panel__btn--labeled{align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:flex}.model-panel__btn--labeled:disabled{opacity:.35;cursor:not-allowed}.model-panel__btn--active{color:#38b2ac!important;background:#38b2ac40!important}.model-panel__adjust{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172acc;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;width:560px;position:absolute;top:40px;right:8px;box-shadow:0 8px 24px #0006}.model-panel__adjust-header{color:#ffffff80;justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;display:flex;overflow:hidden}.model-panel__adjust-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-panel__adjust-header strong{color:#ffffffd9}.model-panel__adjust-close{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px;transition:color .15s,background .15s}.model-panel__adjust-close:hover{color:#fff;background:#ffffff1a}.model-panel__adjust-toggle{color:#fffc;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.model-panel__adjust-toggle:hover{background:#ffffff0d}.model-panel__adjust-toggle span{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.model-panel__adjust-body{flex-direction:column;gap:6px;padding:8px 12px 12px;display:flex}.model-panel__slider-row{align-items:center;gap:6px;display:flex}.model-panel__nudge-btn{color:#fff9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:13px;font-weight:700;transition:background .15s,color .15s;display:flex}.model-panel__nudge-btn:hover:not(:disabled){color:#fff;background:#ffffff2e}.model-panel__nudge-btn:disabled{opacity:.3;cursor:not-allowed}.model-panel__slider{cursor:pointer;appearance:none;background:#ffffff1f;border-radius:3px;outline:none;flex:1;height:6px}.model-panel__slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;background:#fff;border:2px solid;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #0006}.model-panel__slider::-moz-range-thumb{cursor:grab;background:#fff;border:2px solid;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #0006}.model-panel__slider:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.15)}.model-panel__slider:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.15)}.model-panel__slider:disabled{opacity:.4;cursor:not-allowed}.model-panel__slider:disabled::-webkit-slider-thumb{box-shadow:none;cursor:not-allowed;background:#666;border-color:#555}.model-panel__slider:disabled::-moz-range-thumb{box-shadow:none;cursor:not-allowed;background:#666;border-color:#555}.model-panel__slider-value{text-align:right;font-variant-numeric:tabular-nums;color:#fff9;min-width:36px;font-size:11px}.model-panel__save-btn{color:#38b2ac;cursor:pointer;background:#38b2ac33;border:1px solid #38b2ac66;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:6px 16px;font-size:12px;font-weight:600;transition:background .15s,transform .1s;display:flex}.model-panel__save-btn:hover:not(:disabled){background:#38b2ac59;transform:translateY(-1px)}.model-panel__save-btn:disabled{opacity:.5;cursor:not-allowed}.model-panel__reset-btn{color:#ffffffb3;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:6px 16px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.model-panel__reset-btn:hover{color:#fff;background:#ffffff26}@media (width<=640px){.model-panel{width:100%}}.model-panel__placement-banner{color:#0f8;white-space:nowrap;background:#00ff881a;border:1px solid #00ff8840;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:.1rem .45rem;font-size:.7rem;display:flex}.model-panel__placement-banner strong{color:#fff}.model-panel__view-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:50;background:#0f172af2;border:1px solid #ffffff1f;border-radius:8px;min-width:180px;padding:6px 0;animation:.15s ease-out fadeIn;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000080}.model-panel__view-menu-item{cursor:pointer;color:#ffffffbf;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 14px;font-size:12px;transition:background .15s;display:flex}.model-panel__view-menu-item:hover{background:#ffffff0f}.model-panel__view-menu-item input[type=checkbox]{accent-color:#10b981;cursor:pointer;width:14px;height:14px}.model-panel__view-menu-item span{flex:1}.layout{min-height:100vh;display:flex}.layout__main{margin-left:var(--ts-sidebar-width);min-height:100vh;transition:margin-left var(--ts-transition), margin-right .25s ease;flex-direction:column;flex:1;display:flex}.layout--collapsed .layout__main{margin-left:var(--ts-sidebar-collapsed)}.layout__content{flex:1;padding:24px;animation:.35s ease-out fadeIn}@media (width<=1024px){.layout__main,.layout--collapsed .layout__main{margin-left:var(--ts-sidebar-collapsed)}}@media (width<=640px){.layout__main{margin-left:0;margin-right:0!important}.layout--collapsed .layout__main{margin-left:0}.layout__content{padding:16px 16px 76px}}.confirm-dialog__overlay{-webkit-backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.18s ease-out confirmFadeIn;display:flex;position:fixed;inset:0}.confirm-dialog{border-radius:var(--ts-radius-md,12px);width:100%;max-width:460px;box-shadow:var(--ts-shadow-lg,0 20px 60px #00000073);flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) confirmSlideUp;display:flex;overflow:hidden}.confirm-dialog__header{border-bottom:1px solid var(--ts-glass-border,#ffffff14);background:#ffffff05;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 18px;display:grid}.confirm-dialog__icon{border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.confirm-dialog__icon--danger{color:#f87171;background:#e74c3c2e}.confirm-dialog__icon--warning{color:#fb923c;background:#e67e222e}.confirm-dialog__icon--primary{color:#58d68d;background:#2ecc7129}.confirm-dialog__title{letter-spacing:.01em;color:var(--ts-text-primary);margin:0;font-size:1.05rem;font-weight:600}.confirm-dialog__close{width:32px;height:32px;color:var(--ts-text-muted);border-radius:var(--ts-radius-sm,8px);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.confirm-dialog__close:hover:not(:disabled){color:var(--ts-text-primary);background:#ffffff14}.confirm-dialog__close:disabled{opacity:.4;cursor:not-allowed}.confirm-dialog__body{color:var(--ts-text-secondary);padding:16px 18px;font-size:.9rem;line-height:1.5}.confirm-dialog__body p{margin:0}.confirm-dialog__footer{border-top:1px solid var(--ts-glass-border,#ffffff14);background:#0000002e;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.confirm-dialog__btn{color:#fff;border-radius:var(--ts-radius-sm,8px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-width:110px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:transform .12s,box-shadow .18s,background .18s;display:inline-flex}.confirm-dialog__btn:hover:not(:disabled){transform:translateY(-1px)}.confirm-dialog__btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.confirm-dialog__btn--cancel{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 2px 12px #64748b4d}.confirm-dialog__btn--cancel:hover:not(:disabled){box-shadow:0 4px 18px #64748b80}.confirm-dialog__btn--danger{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 2px 12px #e74c3c52}.confirm-dialog__btn--danger:hover:not(:disabled){box-shadow:0 4px 20px #e74c3c80}.confirm-dialog__btn--warning{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 2px 12px #e67e2252}.confirm-dialog__btn--warning:hover:not(:disabled){box-shadow:0 4px 20px #e67e2280}.confirm-dialog__btn--primary{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 2px 12px #2ecc7152}.confirm-dialog__btn--primary:hover:not(:disabled){box-shadow:0 4px 20px #2ecc7180}.confirm-dialog__spinner{animation:.7s linear infinite confirmSpin}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes confirmSpin{to{transform:rotate(360deg)}}.dashboard{flex-direction:column;gap:24px;display:flex}.dashboard__stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{flex-direction:column;gap:8px;padding:20px;display:flex}.stat-card__header{justify-content:space-between;align-items:center;display:flex}.stat-card__icon{border-radius:var(--ts-radius-sm);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-card__icon--jade{color:var(--ts-jade);background:#2ecc711f}.stat-card__icon--gold{color:var(--ts-gold);background:#f39c121f}.stat-card__icon--info{color:#5dade2;background:#3498db1f}.stat-card__change{align-items:center;gap:2px;font-size:.8rem;font-weight:600;display:flex}.stat-card__change--up{color:var(--ts-jade)}.stat-card__change--down{color:#e74c3c}.stat-card__value{letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.stat-card__label{color:var(--ts-text-secondary);font-size:.825rem}.dashboard__grid{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.dashboard__chart,.dashboard__activity{padding:24px}.dashboard__section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dashboard__section-header h2{font-size:1rem;font-weight:600}.dashboard__period{gap:4px;display:flex}.ts-btn--sm{padding:6px 12px;font-size:.75rem}.dashboard__chart-area{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:220px;display:flex}.dashboard__chart-placeholder{color:var(--ts-text-muted);opacity:.4}.dashboard__chart-text{color:var(--ts-text-muted);font-size:.875rem}.activity-list{flex-direction:column;gap:4px;display:flex}.activity-item{border-radius:var(--ts-radius-sm);transition:var(--ts-transition);opacity:0;align-items:center;gap:12px;padding:10px 12px;animation:.4s ease-out forwards fadeIn;display:flex}.activity-item:hover{background:var(--ts-bg-input)}.activity-item__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.activity-item__icon--jade{color:var(--ts-jade);background:#2ecc711f}.activity-item__icon--gold{color:var(--ts-gold);background:#f39c121f}.activity-item__icon--info{color:#5dade2;background:#3498db1f}.activity-item__content{flex:1;min-width:0}.activity-item__action{font-size:.85rem;font-weight:500}.activity-item__user{color:var(--ts-text-secondary);font-size:.75rem}.activity-item__time{color:var(--ts-text-muted);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:.72rem;display:flex}@media (width<=1024px){.dashboard__stats{grid-template-columns:repeat(2,1fr)}.dashboard__grid{grid-template-columns:1fr}}@media (width<=640px){.dashboard__stats{grid-template-columns:1fr}.stat-card__value{font-size:1.5rem}}.users-page{flex-direction:column;gap:20px;display:flex}.users-page__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.users-page__search{flex:1;max-width:360px;position:relative}.users-page__search-icon{color:var(--ts-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.users-page__search .ts-input{padding-left:36px}.users-page__actions{gap:8px;display:flex}.users-table{padding:0;overflow:hidden}.users-table__header{border-bottom:1px solid var(--ts-border);text-transform:uppercase;letter-spacing:.05em;color:var(--ts-text-muted);grid-template-columns:2fr 1fr 1fr 1fr 48px;align-items:center;padding:12px 20px;font-size:.75rem;font-weight:600;display:grid}.users-table__row{transition:var(--ts-transition);opacity:0;border-bottom:1px solid #ffffff08;grid-template-columns:2fr 1fr 1fr 1fr 48px;align-items:center;padding:14px 20px;animation:.35s ease-out forwards fadeIn;display:grid}.users-table__row:last-child{border-bottom:none}.users-table__row:hover{background:var(--ts-bg-input)}.users-table__row--clickable{cursor:pointer}.users-table__row--clickable:focus-visible{outline:2px solid var(--ts-jade,#38b2ac);outline-offset:-2px}.user-edit-modal{max-width:560px}.user-edit-modal__fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.user-edit-modal__field{color:var(--ts-text-secondary);flex-direction:column;gap:6px;font-size:.8rem;display:flex}.user-edit-modal__field--full{grid-column:1/-1}.user-edit-modal__field span{color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.user-edit-modal__field select:disabled,.user-edit-modal__field input:disabled{opacity:.6;cursor:not-allowed}.user-edit-modal__footer{border-top:1px solid var(--ts-border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}@media (width<=640px){.user-edit-modal__fields{grid-template-columns:1fr}}.users-table__cell--user{align-items:center;gap:12px;display:flex}.users-table__avatar{background:linear-gradient(135deg, var(--ts-jade), var(--ts-gold));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:700;display:flex}.users-table__user-info{flex-direction:column;min-width:0;display:flex}.users-table__name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.users-table__email{color:var(--ts-text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:.75rem;display:flex;overflow:hidden}.users-table__cell--action{text-align:center}@media (width<=1024px){.users-table__header,.users-table__row{grid-template-columns:2fr 1fr 1fr 48px}.users-table__cell--hide-mobile{display:none}}@media (width<=640px){.users-page__toolbar{flex-direction:column;align-items:stretch}.users-page__search{max-width:100%}.users-page__actions{justify-content:stretch}.users-page__actions .ts-btn{flex:1}.users-table__header,.users-table__row{grid-template-columns:1fr auto 48px}.users-table__header .users-table__cell:nth-child(2),.users-table__row .users-table__cell:nth-child(2){display:none}.users-table__header,.users-table__row{padding:10px 14px}}.content-page{flex-direction:column;gap:20px;display:flex}.content-page__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.content-page__search{flex:1;max-width:360px;position:relative}.content-page__search-icon{color:var(--ts-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.content-page__search .ts-input{padding-left:36px}.content-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.content-card{opacity:0;flex-direction:column;gap:12px;padding:20px;animation:.4s ease-out forwards fadeIn;display:flex}.content-card__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.content-card__title{font-size:.95rem;font-weight:600;line-height:1.4}.content-card__meta{color:var(--ts-text-muted);align-items:center;gap:16px;font-size:.75rem;display:flex}.content-card__date,.content-card__views{align-items:center;gap:4px;display:flex}.content-card__actions{border-top:1px solid var(--ts-border);gap:8px;margin-top:auto;padding-top:8px;display:flex}@media (width<=1024px){.content-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.content-page__toolbar{flex-direction:column;align-items:stretch}.content-page__search{max-width:100%}.content-grid{grid-template-columns:1fr}}.anatomy-page{flex-direction:column;gap:20px;display:flex}.anatomy-page__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.anatomy-page__search{flex:1;max-width:360px;position:relative}.anatomy-page__search-icon{color:var(--ts-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.anatomy-page__search .ts-input{padding-left:36px;padding-right:2.2rem}.anatomy-page__filters{gap:8px;display:flex}.anatomy-toggle-group{flex-direction:column;gap:8px;display:flex}.anatomy-toggle-group__label{text-transform:uppercase;letter-spacing:.06em;color:var(--ts-text-muted);font-size:.7rem;font-weight:600}.anatomy-toggle-group__buttons{flex-wrap:wrap;gap:6px;display:flex}.anatomy-toggle-btn{border:1px solid var(--ts-border);color:var(--ts-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:.75rem;font-weight:500;transition:all .2s;display:inline-flex}.anatomy-toggle-btn:hover{border-color:var(--toggle-color,var(--ts-jade));color:var(--toggle-color,var(--ts-jade));background:color-mix(in srgb, var(--toggle-color,var(--ts-jade)) 8%, transparent)}.anatomy-toggle-btn--active{border-color:var(--toggle-color,var(--ts-jade));color:var(--toggle-color,var(--ts-jade));background:color-mix(in srgb, var(--toggle-color,var(--ts-jade)) 15%, transparent);font-weight:600}.anatomy-toggle-btn__count{color:var(--ts-text-muted);background:#ffffff0f;border-radius:8px;padding:1px 5px;font-size:.65rem;font-weight:600}.anatomy-toggle-btn--active .anatomy-toggle-btn__count{background:color-mix(in srgb, var(--toggle-color,var(--ts-jade)) 20%, transparent);color:var(--toggle-color,var(--ts-jade))}.anatomy-page__summary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.anatomy-summary-card{text-align:center;flex-direction:column;gap:4px;padding:20px;display:flex}.anatomy-summary-card__value{letter-spacing:-.03em;font-size:2rem;font-weight:800}.anatomy-summary-card__label{color:var(--ts-text-secondary);font-size:.8rem;font-weight:500}.anatomy-page__status{color:var(--ts-text-secondary);justify-content:center;align-items:center;gap:10px;padding:40px 20px;font-size:.9rem;display:flex}.anatomy-page__status--error{color:#e74c3c}.anatomy-page__spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.anatomy-page__results-info{color:var(--ts-text-secondary);align-items:center;gap:12px;font-size:.8rem;display:flex}.anatomy-table{padding:0;overflow:hidden}.anatomy-table__header{border-bottom:1px solid var(--ts-border);text-transform:uppercase;letter-spacing:.05em;color:var(--ts-text-muted);grid-template-columns:2.5fr 1fr 1fr 1.2fr 1fr 48px;align-items:center;padding:12px 20px;font-size:.7rem;font-weight:600;display:grid}.anatomy-table__row{transition:var(--ts-transition);opacity:0;border-bottom:1px solid #ffffff08;grid-template-columns:2.5fr 1fr 1fr 1.2fr 1fr 48px;align-items:center;padding:12px 20px;animation:.3s ease-out forwards fadeIn;display:grid}.anatomy-table__row:last-child{border-bottom:none}.anatomy-table__row:hover{background:var(--ts-bg-input)}.anatomy-table__row--selected{border-left:3px solid var(--ts-jade);background:#38b2ac14}.anatomy-table__row--selected:hover{background:#38b2ac1f}.anatomy-table__empty{text-align:center;color:var(--ts-text-muted);padding:40px 20px;font-size:.85rem}.anatomy-table__cell--name{align-items:center;gap:10px;min-width:0;display:flex}.anatomy-table__icon{border-radius:var(--ts-radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.anatomy-table__name-text{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.anatomy-table__badge{white-space:nowrap;border:1px solid;border-radius:12px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-block}.anatomy-table__region{color:var(--ts-text-secondary);align-items:center;gap:4px;font-size:.8rem;display:flex}.anatomy-table__cell--code{color:var(--ts-text-secondary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem}.anatomy-table__muted{color:var(--ts-text-muted)}.anatomy-table__confirm-btn{cursor:pointer;transition:var(--ts-transition);opacity:.6;background:0 0;border:none;padding:4px}.anatomy-table__confirm-btn:hover{opacity:1;transform:scale(1.2)}.anatomy-table__arrow{color:var(--ts-text-muted);transition:var(--ts-transition);padding:4px}.anatomy-table__row:hover .anatomy-table__arrow{color:var(--ts-jade);transform:translate(2px)}@media (width<=1024px){.anatomy-table__header,.anatomy-table__row{grid-template-columns:2fr 1fr 1fr 48px}.anatomy-table__cell--hide-mobile{display:none}}@media (width<=640px){.anatomy-page__toolbar{flex-direction:column;align-items:stretch}.anatomy-page__search{max-width:100%}.anatomy-toggle-group__buttons{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.anatomy-page__summary{grid-template-columns:1fr}.anatomy-table__header,.anatomy-table__row{grid-template-columns:1fr auto 48px;padding:10px 14px}}.acupoints-page{flex-direction:column;gap:1.5rem;display:flex}.acupoints-page__toolbar{flex-direction:column;gap:1rem;display:flex}@media (width>=640px){.acupoints-page__toolbar{flex-direction:row;justify-content:space-between;align-items:center}}.acupoints-page__meridian-btn{border-radius:var(--ts-radius-sm);border:1px solid var(--ts-border);background:var(--ts-bg-input);color:var(--ts-text-secondary);cursor:pointer;transition:var(--ts-transition);white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.acupoints-page__meridian-btn:hover{border-color:var(--ts-border-hover);color:var(--ts-text-primary)}.acupoints-page__meridian-btn--active{border-color:var(--ts-jade);color:var(--ts-jade);background:#2ecc7114}.acupoints-page__meridian-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:250;background:#0f172af5;border:1px solid #ffffff1f;border-radius:8px;min-width:300px;max-height:400px;padding:4px 0;animation:.15s ease-out fadeIn;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.acupoints-page__meridian-menu-item{color:#ffffffb3;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 14px;font-size:.8rem;transition:background .15s;display:flex}.acupoints-page__meridian-menu-item:hover{background:#ffffff0f}.acupoints-page__meridian-menu-item--active{color:var(--ts-jade);background:#2ecc711a}.acupoints-page__meridian-menu-code{color:var(--ts-jade-light);text-align:center;background:#ffffff0f;border-radius:4px;flex-shrink:0;min-width:28px;padding:2px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.7rem;font-weight:700}.acupoints-page__meridian-menu-label{flex:1;font-weight:500}.acupoints-page__meridian-menu-sub{color:#fff6;flex-shrink:0;font-size:.7rem}.acupoints-page__meridian-menu-count{color:var(--ts-text-muted);background:#ffffff0f;border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:.65rem;font-weight:600}.acupoints-page__search{flex:1;max-width:400px;position:relative}.acupoints-page__search .ts-input{width:100%;padding-left:2.5rem;padding-right:2.2rem}.acupoints-page__search-icon{color:var(--ts-text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.acupoints-page__status{color:var(--ts-text-secondary);background:var(--ts-glass-bg);border:1px solid var(--ts-glass-border);border-radius:var(--ts-radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.acupoints-page__status--error{color:#ff6b6b;background:#ff6b6b0d;border-color:#ff6b6b1a}.acupoints-page__spinner{color:var(--ts-jade);animation:1s linear infinite spin}.acupoints-page__results-info{color:var(--ts-text-muted);align-items:center;gap:1rem;font-size:.875rem;display:flex}.acupoints-table{border-radius:var(--ts-radius-lg);flex-direction:column;display:flex;overflow:hidden}.acupoints-table__header{border-bottom:1px solid var(--ts-glass-border);text-transform:uppercase;letter-spacing:.05em;color:var(--ts-text-muted);background:#ffffff05;grid-template-columns:48px 100px 1.2fr 1.5fr 1.5fr 1.5fr 1fr 70px 70px 70px 72px;align-items:center;padding:1rem 1.5rem;font-size:.75rem;font-weight:600;display:grid}.acupoints-table__row{cursor:pointer;border-bottom:1px solid #ffffff0d;grid-template-columns:48px 100px 1.2fr 1.5fr 1.5fr 1.5fr 1fr 70px 70px 70px 72px;align-items:center;padding:1rem 1.5rem;transition:all .2s;animation:.4s cubic-bezier(.16,1,.3,1) backwards slideUpFade;display:grid}.acupoints-table__row:last-child{border-bottom:none}.acupoints-table__row:hover{background:#ffffff08}.acupoints-table__row--selected{border-left:3px solid var(--ts-jade);background:#10b9810f}.acupoints-table__row--selected:hover{background:#10b98117}.acupoints-table__cell{flex:1;align-items:center;gap:.75rem;min-width:0;padding-right:1rem;font-size:.875rem;display:flex}.acupoints-table__cell--order{color:var(--ts-text-muted);font-variant-numeric:tabular-nums;flex:0 0 48px;font-size:.8125rem;font-weight:500}.acupoints-table__cell--code{flex:0 0 140px}.acupoints-table__icon{border-radius:var(--ts-radius-md);width:32px;height:32px;color:var(--ts-jade);background:#10b9811a;justify-content:center;align-items:center;display:flex}.acupoints-table__code-text{color:var(--ts-text-primary);font-weight:500}.acupoints-table__muted{color:var(--ts-text-muted)}.acupoints-table__indications{white-space:nowrap;text-overflow:ellipsis;color:var(--ts-text-secondary);font-size:.8125rem;overflow:hidden}.acupoints-table__cell--coord{justify-content:center;padding-right:0}.acupoints-table__coord-value{font-variant-numeric:tabular-nums;color:var(--ts-text-muted);font-size:.75rem}.acupoints-table__cell--actions{justify-content:center;align-items:center;gap:4px;display:flex}.acupoints-table__view-btn--active{color:#0f8!important;background:#00ff881f!important}@media (width<=768px){.acupoints-table__cell--hide-mobile{display:none}.acupoints-table__header,.acupoints-table__row{grid-template-columns:40px 100px 1fr 1fr 1fr 1fr 72px}}@media (width<=640px){.acupoints-table__header,.acupoints-table__row{grid-template-columns:32px 1fr auto 72px;gap:8px;padding:10px 14px}.acupoints-table__cell--code{flex:1}}.acupoints-table__empty{text-align:center;color:var(--ts-text-muted);padding:3rem 1.5rem}.acupoints-table__view-btn{color:var(--ts-text-muted);border-radius:var(--ts-radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;display:flex}.acupoints-table__view-btn:hover{color:var(--ts-jade);background:#10b9811f}.acupoints-table__row:hover .acupoints-table__view-btn{color:var(--ts-text-secondary)}.acupoints-pagination-wrapper{flex-direction:column;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1rem;padding:1.5rem 0;display:flex}@media (width>=640px){.acupoints-pagination-wrapper{flex-direction:row}}.acupoints-pagination-controls{align-items:center;gap:.75rem;display:flex}.acupoints-pagination-label{color:var(--ts-text-muted);font-size:.875rem}.acupoints-pagination-select{width:80px;padding:.375rem .5rem}.acupoints-pagination{align-items:center;gap:.5rem;display:flex}.acupoints-pagination__pages{align-items:center;gap:.25rem;display:flex}.acupoints-pagination__btn{width:36px;height:36px;font-size:.875rem}.acupoints-pagination__ellipsis{color:var(--ts-text-muted);padding:0 .25rem}.acupoint-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.acupoint-modal{width:100%;max-width:600px;max-height:90vh;box-shadow:var(--ts-shadow-lg);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) slideUpFade;display:flex;overflow:hidden}.acupoint-modal__header{border-bottom:1px solid var(--ts-glass-border);background:#ffffff05;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex}.acupoint-modal__title-area{align-items:center;gap:1rem;display:flex}.acupoint-modal__icon{border-radius:var(--ts-radius-md);width:48px;height:48px;color:var(--ts-jade);background:#10b98126;justify-content:center;align-items:center;display:flex}.acupoint-modal__code{color:var(--ts-text-primary);margin-bottom:.25rem;font-size:1.5rem;font-weight:700;line-height:1.2}.acupoint-modal__names{gap:.5rem;display:flex}.acupoint-modal__close{color:var(--ts-text-muted);margin:-.5rem;padding:.5rem}.acupoint-modal__close:hover{color:var(--ts-text-primary);background:#ffffff1a}.acupoint-modal__content{flex-direction:column;gap:2rem;padding:1.5rem;display:flex;overflow-y:auto}.acupoint-modal__section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--ts-text-muted);border-bottom:1px solid #ffffff0d;margin-bottom:1rem;padding-bottom:.5rem;font-size:.875rem;font-weight:600}.acupoint-modal__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.acupoint-modal__stat{border-radius:var(--ts-radius-sm);background:#ffffff08;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.acupoint-modal__stat-label{color:var(--ts-text-muted);font-size:.75rem}.acupoint-modal__stat-value{color:var(--ts-text-primary);font-size:.875rem;font-weight:500}.acupoint-modal__list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.acupoint-modal__list li{color:var(--ts-text-secondary);padding-left:1.25rem;font-size:.875rem;position:relative}.acupoint-modal__list li:before{content:"•";color:var(--ts-jade);position:absolute;left:0}.acupoint-modal__empty{color:var(--ts-text-muted);font-size:.875rem;font-style:italic}.acupoint-modal__cards{flex-direction:column;gap:.5rem;display:flex}.acupoint-modal__card{border-radius:var(--ts-radius-sm);background:#ffffff05;border:1px solid #ffffff0d;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.acupoint-modal__card-relation{color:var(--ts-jade-light);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--ts-radius-sm);background:#2ecc711a;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.acupoint-modal__card-target{color:var(--ts-text-primary)}.acupoint-modal__card-relation.relation--blue{color:var(--ts-brand);background:#0a84ff1a}.acupoint-modal__section-header{align-items:center;gap:.75rem;display:flex}.acupoint-modal__meridian-badge{--meridian-color:var(--ts-jade);color:var(--meridian-color);letter-spacing:.05em;background:color-mix(in srgb, var(--meridian-color) 12%, transparent);border:1px solid color-mix(in srgb, var(--meridian-color) 25%, transparent);border-radius:var(--ts-radius-sm);text-transform:none;align-items:center;padding:.15rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.settings-page{flex-direction:column;gap:20px;max-width:720px;display:flex}.settings-section{flex-direction:column;gap:16px;padding:24px;display:flex}.settings-section__header{margin-bottom:4px}.settings-section__header h2{font-size:1rem;font-weight:600}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-field__label{color:var(--ts-text-secondary);align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.settings-field__select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b6b82' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.settings-toggle{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.settings-toggle:last-child{border-bottom:none;padding-bottom:0}.settings-toggle__info{align-items:center;gap:12px;display:flex}.settings-toggle__icon{border-radius:var(--ts-radius-sm);background:var(--ts-bg-input);width:36px;height:36px;color:var(--ts-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-toggle__label{font-size:.875rem;font-weight:500}.settings-toggle__desc{color:var(--ts-text-muted);font-size:.75rem}.settings-toggle__switch{color:var(--ts-text-muted);transition:var(--ts-transition);border-radius:var(--ts-radius-sm);flex-shrink:0;padding:4px}.settings-toggle__switch:hover{background:var(--ts-bg-input)}.settings-toggle__switch--on{color:var(--ts-jade)}.settings-page__actions{justify-content:flex-end;gap:12px;display:flex}@media (width<=640px){.settings-section{padding:16px}.settings-toggle__info{gap:8px}.settings-page__actions{flex-direction:column-reverse}.settings-page__actions .ts-btn{width:100%}}.methods-page{max-width:1200px;margin:0 auto;padding:1.5rem}.methods-page__toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.methods-page__search{flex:1;max-width:400px;position:relative}.methods-page__search-icon{color:var(--text-muted);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.methods-page__search .ts-input{padding-left:2.75rem}.methods-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.method-card{flex-direction:column;gap:1rem;height:100%;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.method-card:hover{box-shadow:0 8px 32px var(--shadow-color);transform:translateY(-2px)}.method-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.method-card__title{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600;line-height:1.4}.method-card__description{color:var(--text-secondary);flex:1;margin:0;font-size:.875rem;line-height:1.5}.method-card__actions{border-top:1px solid var(--border-color);gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.method-modal{z-index:100;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.method-modal__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;position:absolute;inset:0}.method-modal__content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:1rem;flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;position:relative;box-shadow:0 24px 48px #0003}.method-modal__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.method-modal__header h2{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.method-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.method-modal__close:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.method-modal__body{padding:1.5rem;overflow-y:auto}.method-form{flex-direction:column;gap:1.5rem;display:flex}.ts-form-group{flex-direction:column;gap:.5rem;display:flex}.ts-form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.method-modal__footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}@media (width<=640px){.methods-page__toolbar{flex-direction:column;align-items:stretch}.methods-page__search{max-width:100%}.methods-grid{grid-template-columns:1fr}}.meridians-page{flex-direction:column;gap:1.5rem;height:100%;display:flex}.meridians-page__toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.meridians-page__search{flex:1;max-width:400px;position:relative}.meridians-page__search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.meridians-page__search .ts-input{width:100%;padding-left:2.5rem}.meridians-table-wrap{padding:0;overflow-x:auto}.meridians-table{border-collapse:collapse;width:100%;font-size:.9rem}.meridians-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid #ffffff1a;padding:.85rem 1rem;font-size:.75rem;font-weight:600}.meridians-table tbody tr{transition:background .2s}.meridians-table tbody tr:hover{background:#ffffff0a}.meridians-table tbody td{vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:.75rem 1rem}.meridians-table__order{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center;width:2.5rem}.meridian-code-badge{color:#fff;text-shadow:0 1px 2px #00000080;border-radius:9999px;padding:.2rem .6rem;font-size:.8rem;font-weight:700;display:inline-block}.meridians-table__name-primary{color:var(--text-color);font-weight:600}.meridians-table__type{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:#ffffff1a;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;display:inline-block}.meridians-table__type--main{color:#38b2ac;background:#38b2ac26}.meridians-table__type--extra{color:#9f7aea;background:#9f7aea26}.meridians-table__color-swatch{border:2px solid #ffffff26;border-radius:50%;width:1.25rem;height:1.25rem;display:inline-block}.meridians-table__actions{white-space:nowrap;gap:.25rem;display:flex}.meridian-modal{z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.meridian-modal__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172acc;position:absolute;inset:0}.meridian-modal__content{background:#1e293bf2;border:1px solid #ffffff1a;border-radius:1rem;flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.meridian-modal__header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.meridian-modal__header h2{margin:0;font-size:1.25rem;font-weight:600}.meridian-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.meridian-modal__close:hover{color:var(--text-color);background:#ffffff1a}.meridian-modal__body{padding:1.5rem;overflow-y:auto}.meridian-form{flex-direction:column;gap:1.25rem;display:flex}.meridian-form__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.meridian-color-input{cursor:pointer;height:2.5rem;padding:0}.meridian-modal__footer{background:#0f172a80;border-top:1px solid #ffffff1a;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}@media (width<=640px){.meridians-page__toolbar{flex-direction:column;align-items:stretch}.meridians-page__search{max-width:none}.meridian-form__row{grid-template-columns:1fr}}.mina-bookings-page{flex-direction:column;gap:20px;display:flex}.mina-empty{text-align:center;color:var(--ts-text-muted);padding:28px 20px}.mina-bookings-columns{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=1100px){.mina-bookings-columns{grid-template-columns:1fr}}.mina-bookings-column{flex-direction:column;gap:12px;min-width:0;display:flex}.mina-bookings-column__head{flex-direction:column;gap:2px;padding:0 4px;display:flex}.mina-bookings-column__title{align-items:center;gap:8px;display:flex}.mina-bookings-column__title h2{letter-spacing:.01em;margin:0;font-size:1rem;font-weight:600}.mina-bookings-column__count{min-width:22px;height:22px;color:var(--ts-text-secondary);background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:.75rem;font-weight:600;display:inline-flex}.mina-bookings-column--upcoming .mina-bookings-column__count{color:var(--ts-jade-light,var(--ts-jade));background:#2ecc7126}.mina-bookings-column--past .mina-bookings-column__count{color:var(--ts-text-muted)}.mina-bookings-column__subtitle{color:var(--ts-text-muted);margin:0;font-size:.75rem}.mina-bookings-column__empty{padding:18px;font-size:.875rem}.mina-bookings-list{flex-direction:column;gap:10px;display:flex}.mina-booking-card{cursor:pointer;border:1px solid #0000;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;padding:12px;transition:transform .12s,border-color .12s,background .12s;display:grid}.mina-booking-card--has-extra{grid-template-columns:64px minmax(0,1.25fr) minmax(0,1fr) auto}@media (width<=720px){.mina-booking-card,.mina-booking-card--has-extra{grid-template-columns:64px minmax(0,1fr) auto}.mina-booking-card--has-extra .mina-booking-card__right{grid-column:1/-1}}.mina-booking-card:hover{border-color:#ffffff1f;transform:translateY(-1px)}.mina-booking-card:focus-visible{border-color:var(--ts-jade);outline:none;box-shadow:0 0 0 2px #2ecc7140}.mina-booking-card--past{opacity:.85}.mina-booking-card--cancelled,.mina-booking-card--no_show{opacity:.7}.mina-booking-card__date{border-radius:var(--ts-radius-sm);text-align:center;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:6px 0;line-height:1;display:flex}.mina-booking-card__date--weekday{background:linear-gradient(#94a3b824,#94a3b80d);border-color:#94a3b838}.mina-booking-card__date--weekend{background:linear-gradient(#f472b633,#f472b612);border-color:#f472b661}.mina-booking-card__date--weekend .mina-booking-card__date-weekday{color:#f472b6}.mina-booking-card__date-weekday{text-transform:uppercase;letter-spacing:.08em;color:var(--ts-text-muted);margin-bottom:2px;font-size:.65rem}.mina-booking-card__date-day{color:var(--ts-text-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.mina-booking-card__date-month{text-transform:uppercase;letter-spacing:.06em;color:var(--ts-text-secondary);margin-top:2px;font-size:.7rem;font-weight:600}.mina-booking-card__date-year{color:var(--ts-text-muted);margin-top:1px;font-size:.6rem}.mina-booking-card__body{flex-direction:column;gap:6px;min-width:0;display:flex}.mina-booking-card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.mina-booking-card__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:.9rem;font-weight:600;overflow:hidden}.mina-booking-card__badges{flex-wrap:wrap;gap:4px;display:flex}.mina-info-badge{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:.7rem;font-weight:600;line-height:1.4;display:inline-flex}.mina-info-badge svg{flex-shrink:0}.mina-info-badge--time{color:#7dd3fc;background:#38bdf826;border-color:#38bdf84d}.mina-info-badge--duration-60{color:#c4b5fd;background:#a78bfa26;border-color:#a78bfa4d}.mina-info-badge--duration-90{color:#f0abfc;background:#e879f92e;border-color:#e879f961}.mina-info-badge--domicile{color:#fdba74;background:#fb923c29;border-color:#fb923c52}.mina-booking-card__contact{color:var(--ts-text-muted);flex-wrap:wrap;gap:4px 12px;font-size:.72rem;display:flex}.mina-booking-card__contact-item{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:100%;display:inline-flex;overflow:hidden}.mina-booking-card__actions{flex-direction:column;justify-content:flex-start;align-self:stretch;align-items:flex-end;gap:6px;display:flex}.mina-booking-card__status-badge{white-space:nowrap}.mina-booking-card__confirm{white-space:nowrap;height:auto;min-height:0;padding:8px 12px;font-size:.78rem}.mina-booking-card__right{border-left:1px solid #ffffff12;flex-direction:column;gap:8px;min-width:0;padding-left:12px;display:flex}.mina-booking-card__extra{flex-direction:column;gap:3px;min-width:0;display:flex}.mina-booking-card__extra-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ts-text-muted);align-items:center;gap:4px;font-size:.65rem;font-weight:600;display:inline-flex}.mina-booking-card__extra-value{color:var(--ts-text-secondary);-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;margin:0;font-size:.76rem;line-height:1.35;display:-webkit-box;overflow:hidden}.mina-booking-card__extra-value--quote{color:var(--ts-text-primary);background:#6366f114;border-left:2px solid #6366f180;border-radius:0 4px 4px 0;padding:6px 8px;font-style:italic}.mina-booking-card__extra-value--note{background:#f1c40f14;border-left:2px solid #f1c40f80;border-radius:0 4px 4px 0;padding:6px 8px}.mina-modal__message{background:var(--ts-bg-input,#ffffff0a);border-radius:var(--ts-radius-sm);color:var(--ts-text-secondary);white-space:pre-wrap;margin:0;padding:12px 14px;font-size:.875rem}.mina-modal__note{resize:vertical;width:100%;font-family:inherit;font-size:.875rem}.mina-modal__note-actions{justify-content:flex-end;margin-top:8px;display:flex}.mina-booking-modal{max-width:880px}.mina-modal__status-actions{flex-wrap:nowrap;gap:8px;display:flex}@media (width<=760px){.mina-modal__status-actions{flex-wrap:wrap}}.mina-status-btn{white-space:nowrap;flex:1 1 0;gap:6px;min-width:0;padding:7px 12px;font-size:.8rem}.mina-modal__status-section{border-radius:var(--ts-radius-sm);background:#ffffff08;border:1px solid #ffffff0f;padding:14px 16px}.mina-modal__status-section h3{border-bottom:0!important;margin-bottom:10px!important;padding-bottom:0!important}.mina-modal__footer{border-top:1px solid var(--ts-glass-border,#ffffff14);background:#00000026;justify-content:space-between;align-items:center;gap:12px;padding:14px 1.5rem;display:flex}.mina-modal__delete-btn,.mina-modal__close-btn{flex:none;min-width:140px;padding:8px 18px;font-size:.85rem}.mina-modal__status-hint{color:var(--ts-text-muted);margin:10px 0 0;font-size:.78rem}.mina-modal__status-hint strong{color:var(--ts-text-primary)}.mina-status-badge{border:1px solid #0000}.mina-status-badge--pending{color:#f4d03f;background:#f1c40f2e;border-color:#f1c40f59}.mina-status-badge--confirmed{color:#58d68d;background:#2ecc712e;border-color:#2ecc7159}.mina-status-badge--completed{color:#5dade2;background:#3498db33;border-color:#3498db66}.mina-status-badge--cancelled{color:#ec7063;background:#e74c3c2e;border-color:#e74c3c66}.mina-status-badge--no_show{color:#eb984e;background:#e67e222e;border-color:#e67e2266}.mina-status-btn{color:#fff;border:1px solid #0000;transition:transform .12s,box-shadow .18s,background .18s}.mina-status-btn:hover:not(:disabled){transform:translateY(-1px)}.mina-status-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.mina-status-btn--current{cursor:default;outline-offset:2px;outline:2px solid #ffffffd9;opacity:1!important}.mina-status-btn--confirm{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 2px 12px #2ecc7152}.mina-status-btn--confirm:hover:not(:disabled){box-shadow:0 4px 20px #2ecc7180}.mina-status-btn--complete{background:linear-gradient(135deg,#3498db,#2563eb);box-shadow:0 2px 12px #3498db52}.mina-status-btn--complete:hover:not(:disabled){box-shadow:0 4px 20px #3498db80}.mina-status-btn--cancel{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 2px 12px #e74c3c52}.mina-status-btn--cancel:hover:not(:disabled){box-shadow:0 4px 20px #e74c3c80}.mina-status-btn--absent{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 2px 12px #e67e2252}.mina-status-btn--absent:hover:not(:disabled){box-shadow:0 4px 20px #e67e2280}.mina-status-btn--pending{color:#1a1a1a;background:linear-gradient(135deg,#f1c40f,#d4a514);box-shadow:0 2px 12px #f1c40f52}.mina-status-btn--pending:hover:not(:disabled){box-shadow:0 4px 20px #f1c40f80}.mina-status-btn--close{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 2px 12px #64748b59}.mina-status-btn--close:hover:not(:disabled){box-shadow:0 4px 20px #64748b8c}.mina-avail-page{flex-direction:column;gap:20px;display:flex}.mina-avail-section{padding:20px}.mina-avail-section h2{margin-bottom:6px}.mina-avail-help{color:var(--ts-text-muted);margin-bottom:16px;font-size:.875rem}.mina-rules-table{border-collapse:collapse;width:100%;font-size:.875rem}.mina-rules-table th,.mina-rules-table td{text-align:left;border-bottom:1px solid var(--ts-border);padding:10px 12px}.mina-rules-table th{color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.mina-empty-cell{text-align:center;color:var(--ts-text-muted);padding:16px 0}.mina-rule-editor{border-top:1px solid var(--ts-border);margin-top:16px;padding-top:16px}.mina-rule-editor h3{margin-bottom:12px}.mina-rule-editor__row{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.mina-rule-editor__row label{color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;flex:1;gap:6px;min-width:160px;font-size:.75rem;display:flex}.mina-rule-editor__slots{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.mina-rule-editor__slot{align-items:center;gap:8px;display:flex}.mina-rule-editor__slot .ts-input{flex:1;max-width:160px}.mina-avail-range{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.mina-avail-range label{color:var(--ts-text-muted);text-transform:uppercase;flex-direction:column;gap:6px;font-size:.75rem;display:flex}.mina-avail-tabs{background:var(--ts-bg-input);border-radius:var(--ts-radius-md);border:1px solid var(--ts-border);align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.mina-avail-tab{border-radius:var(--ts-radius-sm);color:var(--ts-text-secondary);transition:var(--ts-transition);align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;display:inline-flex}.mina-avail-tab:hover{color:var(--ts-text-primary)}.mina-avail-tab.is-active{color:var(--ts-jade);border:1px solid var(--ts-border-jade);background:#2ecc711f}.mina-avail-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1024px){.mina-avail-grid{grid-template-columns:1fr}}.mina-cal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.mina-cal-title{color:var(--ts-text-primary);margin:0;font-size:1.1rem;font-weight:600}.mina-cal-loading{color:var(--ts-text-muted);margin-left:8px;font-size:.85rem;font-weight:400}.mina-cal-weekdays{color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;font-size:.7rem;font-weight:600;display:grid}.mina-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mina-cal-cell{border-radius:var(--ts-radius-sm);background:var(--ts-bg-input);transition:var(--ts-transition);text-align:left;border:1px solid #0000;flex-direction:column;align-items:stretch;gap:4px;min-height:110px;padding:6px;display:flex}.mina-cal-cell:hover{background:var(--ts-bg-card-hover);border-color:var(--ts-border-hover)}.mina-cal-cell--out .mina-cal-cell__date{color:var(--ts-text-muted);opacity:.45}.mina-cal-cell--today{outline:2px solid var(--ts-gold);outline-offset:-2px}.mina-cal-cell--selected{border-color:var(--ts-jade);box-shadow:var(--ts-shadow-jade);background:#2ecc712e}.mina-cal-cell--selected:hover{border-color:var(--ts-jade);background:#2ecc7147}.mina-cal-cell--open{background:#2ecc711a}.mina-cal-cell--booked{background:#f39c121f}.mina-cal-cell--tentative{background:#3498db1f}.mina-cal-cell--blocked{background:#e74c3c1a}.mina-cal-cell--open:hover{background:#2ecc7138;border-color:#2ecc7166}.mina-cal-cell--booked:hover{background:#f39c123d;border-color:#f39c1273}.mina-cal-cell--tentative:hover{background:#3498db3d;border-color:#3498db73}.mina-cal-cell--blocked:hover{background:#e74c3c38;border-color:#e74c3c66}.mina-cal-cell__date{color:var(--ts-text-primary);font-size:.85rem;font-weight:500}.mina-cal-cell__slots{flex-direction:column;gap:2px;margin:0;padding:0;font-size:.65rem;line-height:1.25;list-style:none;display:flex}.mina-cal-slot{white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:1px 5px;font-style:normal;display:flex;overflow:hidden}.mina-cal-slot__time{font-variant-numeric:tabular-nums;text-overflow:ellipsis;letter-spacing:-.01em;flex:auto;min-width:0;overflow:hidden}.mina-cal-slot__dur{font-variant-numeric:tabular-nums;border-radius:3px;flex-shrink:0;padding:0 5px;font-size:.6rem;font-style:normal;font-weight:700}.mina-cal-slot__dur--60{color:var(--ts-jade-light);background:#2ecc714d}.mina-cal-slot__dur--90{color:#c084fc;background:#a855f74d}.mina-cal-slot__abbr{text-align:center;flex-shrink:0;min-width:12px;font-style:normal;font-weight:800}.mina-cal-slot--open{color:var(--ts-jade-light);background:#2ecc712e}.mina-cal-slot--booked{color:var(--ts-gold-light);background:#f39c122e}.mina-cal-slot--tentative{color:#5dade2;background:#3498db2e}.mina-cal-slot--blocked{color:#e74c3c;opacity:.85;background:#e74c3c29}.mina-cal-slot--more{color:var(--ts-text-muted);background:0 0;justify-content:center;padding:0;font-size:.6rem}.mina-cal-legend{border-top:1px solid var(--ts-border);color:var(--ts-text-secondary);flex-wrap:wrap;gap:14px;margin-top:14px;padding-top:12px;font-size:.75rem;list-style:none;display:flex}.mina-cal-legend li{align-items:center;gap:6px;display:inline-flex}.mina-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.mina-dot--open{background:#2ecc718c}.mina-dot--booked{background:#f39c128c}.mina-dot--tentative{background:#3498db8c}.mina-dot--blocked{background:#e74c3c8c}.mina-day-panel__head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.mina-day-panel__icon{color:var(--ts-jade);flex-shrink:0}.mina-day-panel__title{text-transform:capitalize;margin:0;font-size:1rem;font-weight:600}.mina-day-panel__subtitle{color:var(--ts-text-muted);margin:2px 0 0;font-size:.8rem}.mina-day-panel__head .ts-btn{margin-left:auto}.mina-day-panel__empty{color:var(--ts-text-muted);padding:12px 0;font-size:.875rem}.mina-slots-list{flex-direction:column;gap:8px;margin-bottom:16px;list-style:none;display:flex}.mina-slot-row{background:var(--ts-bg-input);border-radius:var(--ts-radius-sm);border:1px solid var(--ts-border);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.mina-slot-row__main{grid-template-columns:1fr auto auto;align-items:center;gap:12px;display:grid}.mina-slot-row--editing{grid-template-columns:minmax(110px,1fr) auto auto;align-items:center;gap:10px;display:grid}.mina-slot-row--booked{background:#f39c1214}.mina-slot-row--blocked{opacity:.85;background:#e74c3c0d}.mina-slot-row__time{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mina-slot-row__time strong{font-size:.95rem}.mina-duration-badge{text-transform:uppercase;letter-spacing:.04em;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 9px;font-size:.7rem;font-style:normal;font-weight:700;display:inline-block}.mina-duration-badge--60{color:var(--ts-jade-light);background:#2ecc712e;border:1px solid #2ecc7159}.mina-duration-badge--90{color:#c084fc;background:#a855f72e;border:1px solid #a855f766}.mina-slot-row__creator{color:var(--ts-text-secondary);white-space:nowrap;text-overflow:ellipsis;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:5px;max-width:200px;padding:2px 9px;font-size:.78rem;font-weight:600;display:inline-flex;overflow:hidden}.mina-slot-row__creator svg{opacity:.7;flex-shrink:0}.mina-slot-row__booking{color:var(--ts-text-secondary);border-top:1px dashed #ffffff12;flex-direction:column;gap:6px;padding-top:8px;font-size:.78rem;display:flex}.mina-slot-row__booking-name{color:var(--ts-text-primary);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:.85rem;font-weight:600;display:inline-flex}.mina-slot-row__booking-contact{flex-wrap:wrap;gap:4px 16px;display:flex}.mina-slot-row__booking-contact a{color:var(--ts-text-secondary);word-break:break-all;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.mina-slot-row__booking-contact a:hover{color:var(--ts-jade)}.mina-slot-row__booking-message{opacity:.9;word-break:break-word;align-items:flex-start;gap:6px;margin:0;font-style:italic;line-height:1.45;display:flex}.mina-slot-row__booking-message svg{flex-shrink:0;margin-top:3px}.mina-slot-row__booking-orphan{color:var(--ts-text-muted);border-top:1px dashed #ffffff12;align-items:center;gap:6px;margin:0;padding-top:8px;font-size:.75rem;font-style:italic;display:inline-flex}.mina-duration-toggle--inline{align-self:center}.mina-slot-row__badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:700}.mina-slot-row__badge--open{color:var(--ts-jade-light);background:#2ecc712e}.mina-slot-row__badge--booked{color:var(--ts-gold-light);background:#f39c122e}.mina-slot-row__badge--tentative{color:#5dade2;background:#3498db2e}.mina-slot-row__badge--blocked{color:#e74c3c;background:#e74c3c2e}.mina-slot-row__actions{gap:4px;display:flex}.mina-slot-row__actions .ts-btn{padding:6px 8px}.mina-slot-row__danger:hover{color:#e74c3c}.mina-add-slot{border-top:1px solid var(--ts-border);margin-top:4px;padding-top:16px}.mina-add-slot__title{text-transform:uppercase;letter-spacing:.06em;color:var(--ts-text-muted);margin:0 0 10px;font-size:.85rem;font-weight:600}.mina-add-slot__row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.mina-add-slot__row label{color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:.06em;flex-direction:column;gap:6px;font-size:.7rem;display:flex}.mina-add-slot__row .ts-input{min-width:110px}.mina-add-slot__end-field{flex-direction:column;gap:6px;display:flex}.mina-add-slot__end{background:var(--ts-bg-input);border:1px dashed var(--ts-border);border-radius:var(--ts-radius-sm);min-width:100px;color:var(--ts-text-primary);font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;font-weight:600;line-height:1.3;display:inline-flex}.mina-add-slot__end-arrow{color:var(--ts-text-muted);font-weight:400}.mina-duration-field{flex-direction:column;gap:6px;display:flex}.mina-duration-field__label{color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.mina-duration-toggle{background:var(--ts-bg-input);border:1px solid var(--ts-border);border-radius:var(--ts-radius-sm);gap:2px;padding:3px;display:inline-flex}.mina-duration-toggle__btn{color:var(--ts-text-secondary);transition:var(--ts-transition);white-space:nowrap;border-radius:6px;padding:7px 14px;font-size:.85rem;font-weight:600}.mina-duration-toggle__btn:hover:not(.is-active){color:var(--ts-text-primary);background:#ffffff0a}.mina-duration-toggle__btn.is-active{background:linear-gradient(135deg, var(--ts-jade), var(--ts-jade-dark));color:#fff;box-shadow:0 1px 8px #2ecc714d}.mina-error{color:#f5b7b1;background:#e74c3c1f;border-color:#e74c3c4d;padding:12px 16px}.mina-blog-page{flex-direction:column;gap:20px;display:flex}.mina-blog-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.mina-blog-list{gap:12px;display:grid}.mina-blog-row{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.mina-blog-row__meta{color:var(--ts-text-muted);margin-top:4px;font-size:.85rem}.mina-blog-row__actions{gap:8px;display:flex}.mina-blog-editor{flex-direction:column;gap:14px;padding:20px;display:flex}.mina-blog-field{color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:6px;font-size:.75rem;display:flex}.mina-blog-field span,.mina-blog-field legend{text-transform:uppercase}.mina-blog-field textarea.ts-input{text-transform:none;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.85rem;line-height:1.55}.mina-blog-field input.ts-input{text-transform:none}.mina-blog-tags{flex-wrap:wrap;gap:8px;display:flex}.mina-blog-tag{background:var(--ts-bg-input);border:1px solid var(--ts-border);text-transform:lowercase;color:var(--ts-text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;display:inline-flex}.mina-blog-tag.is-on{border-color:var(--ts-border-jade);color:var(--ts-jade-light);background:#2ecc7126}.mina-blog-tag input{display:none}.mina-blog-lang{border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);flex-direction:column;gap:12px;padding:14px;display:flex}.mina-blog-lang legend{letter-spacing:.1em;color:var(--ts-text-muted);padding:0 6px;font-size:.75rem}.mina-blog-editor__actions{gap:8px;margin-top:4px;display:flex}.login-page{background:radial-gradient(circle at 20% 20%, #2ecc712e, transparent 55%), radial-gradient(circle at 80% 80%, #f39c1226, transparent 55%), var(--ts-bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border-radius:var(--ts-radius-xl);width:100%;max-width:380px;box-shadow:var(--ts-shadow-lg);flex-direction:column;gap:28px;padding:40px 32px 32px;display:flex}.login-card__brand{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.login-card__logo{border-radius:var(--ts-radius-lg);background:linear-gradient(135deg, var(--ts-jade), var(--ts-jade-dark));color:#fff;width:56px;height:56px;box-shadow:var(--ts-shadow-jade);justify-content:center;align-items:center;display:flex}.login-card__brand h1{letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.login-card__subtitle{color:var(--ts-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem}.login-card__google{border-radius:var(--ts-radius-md);color:#1f1f1f;cursor:pointer;width:100%;transition:var(--ts-transition);background:#fff;border:1px solid #ffffff26;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;font-weight:600;display:flex}.login-card__google:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000059}.login-card__google:active{transform:translateY(0)}.login-card__hint{color:var(--ts-text-muted);text-align:center;font-size:.8rem}
