@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap";:root{--primary:#171ce8;--primary-hover:#1216c4;--primary-light:#e8e9fd;--primary-muted:#171ce814;--accent:#ffb000;--accent-hover:#e09a00;--accent-light:#fff6e0;--success:#00c48c;--success-light:#e0faf2;--danger:#ff4d4d;--danger-light:#ffeaea;--warning:#ffb000;--warning-light:#fff6e0;--info:#171ce8;--bg:#f8f9fa;--bg-elevated:#fff;--card:#fff;--border:#e5e7eb;--border-strong:#d1d5db;--text:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-inverse:#fff;--sidebar-bg:#0f172a;--sidebar-text:#e2e8f0;--sidebar-muted:#94a3b8;--sidebar-hover:#ffffff0f;--sidebar-active:#1d4ed8;--shell-frame:#0b0d12;--sidebar-width:248px;--header-height:64px;--mobile-nav-height:calc(64px + env(safe-area-inset-bottom,0px));--mobile-header-offset:calc(56px + env(safe-area-inset-top,0px));--font:"Montserrat", system-ui, -apple-system, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px #1118270a;--shadow-sm:0 1px 3px #1118270f, 0 1px 2px #1118270a;--shadow:0 4px 12px #1118270f, 0 1px 3px #1118270a;--shadow-md:0 8px 24px #11182714, 0 2px 6px #1118270a;--shadow-lg:0 16px 40px #1118271a, 0 4px 12px #1118270d;--shadow-focus:0 0 0 3px #171ce833;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--duration:.2s;--duration-slow:.32s;--z-sticky:100;--z-sidebar:150;--z-overlay:200;--z-modal:300;--z-toast:400;--z-fab:90}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;height:100%;font-size:16px}body{font-family:var(--font);color:var(--text);background:#fff;min-height:100dvh;line-height:1.5}#root{flex-direction:column;width:100%;min-height:100dvh;display:flex}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4,h5{color:var(--text);letter-spacing:-.02em;font-weight:700;line-height:1.25}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-muted{color:var(--text-secondary)}.text-primary{color:var(--primary)}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);transition:all var(--duration) var(--ease);white-space:nowrap;border:1px solid #0000;font-weight:600;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary);color:var(--text-inverse);box-shadow:0 1px 2px #171ce84d}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #171ce859}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--accent);color:var(--text);box-shadow:0 1px 2px #ffb0004d}.btn-secondary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-outline{background:var(--card);border-color:var(--border);color:var(--text)}.btn-outline:hover{background:var(--bg);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-danger{background:var(--danger);color:var(--text-inverse)}.btn-danger:hover{background:#e63e3e;transform:translateY(-1px)}.btn-success{background:var(--success);color:var(--text-inverse)}.btn-success:hover{background:#00ad7a}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn-lg{height:48px;padding:0 var(--space-6);font-size:var(--text-base)}.btn-icon{border-radius:var(--radius);width:40px;height:40px;padding:0}.btn-icon.btn-sm{width:32px;height:32px}.btn-icon.dn-card-close{flex:none;width:44px;height:44px;font-size:28px;line-height:1}.btn-block{width:100%}.form-group{margin-bottom:var(--space-5)}.form-label{font-size:var(--text-sm);color:var(--text);margin-bottom:var(--space-2);font-weight:600;display:block}.form-field{gap:var(--space-2);flex-direction:column;display:flex}.form-field>span{font-size:var(--text-sm);color:var(--text);font-weight:600}.form-field>input,.form-field>select,.form-field>textarea{width:100%;height:44px;padding:0 var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--text);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease)}.form-field>textarea{height:auto;min-height:100px;padding:var(--space-3) var(--space-4);resize:vertical}.form-field>input:hover,.form-field>select:hover,.form-field>textarea:hover{border-color:var(--border-strong)}.form-field>input:focus,.form-field>select:focus,.form-field>textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.form-field>input:disabled,.form-field>select:disabled,.form-field>textarea:disabled{opacity:.7;cursor:not-allowed;background:var(--bg-subtle,#f3f4f6)}.form-readonly{min-height:44px;padding:0 var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle,#f3f4f6);color:var(--text);align-items:center;font-weight:600;display:flex}.form-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.password-rules-hint,.modal .password-rules-hint,.modal-body .password-rules-hint{overflow-wrap:anywhere;word-break:break-word;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;margin:6px 0 0;padding:6px 10px;display:block;color:var(--text)!important;font-size:12px!important;font-weight:600!important;line-height:1.35!important}.form-error{font-size:var(--text-xs);color:var(--danger);margin-top:var(--space-1);align-items:center;gap:4px;display:flex}.form-input,.form-select,.form-textarea{width:100%;height:44px;padding:0 var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--text);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease)}.form-textarea{height:auto;min-height:100px;padding:var(--space-3) var(--space-4);resize:vertical}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-strong)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.product-search-select{min-width:200px;max-width:320px;position:relative}.product-search-select__trigger{text-align:left;cursor:pointer;appearance:none;background-image:none;align-items:center;gap:6px;width:100%;height:36px;padding-right:28px;display:flex;position:relative;overflow:hidden}.product-search-select__tick{color:#16a34a;flex:none}.product-search-select__change{color:#171ce8;flex:none;margin-left:auto;font-size:13px;font-weight:700}.product-search-select__trigger>span:not(.product-search-select__change){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.product-search-select__trigger:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--text-muted,#64748b);pointer-events:none;width:0;height:0;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.product-search-select__panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:260px;max-width:360px;box-shadow:var(--shadow-md);padding:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex;overflow:hidden}.product-search-select__search{flex-shrink:0;position:relative}.product-search-select__icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.product-search-select__search .form-input{width:100%;height:36px;padding-left:32px}.product-search-select__list{flex-direction:column;flex:auto;gap:2px;min-height:0;max-height:240px;display:flex;overflow:auto}.product-search-select__group{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:6px 8px 2px;font-size:11px;font-weight:600}.product-search-select__option{text-align:left;width:100%;color:var(--text);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.product-search-select__option:hover,.product-search-select__option.is-active{background:var(--bg)}.product-search-select__option.is-clear{color:var(--text-muted)}.product-search-select__meta{color:var(--text-muted);font-size:11px}.product-search-select__status{font-size:var(--text-sm);color:var(--text-muted);padding:8px 10px}.product-search-select__status.is-error{color:var(--danger)}.form-input.is-error,.form-input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #ff4d4d26}.form-input.is-success{border-color:var(--success);box-shadow:0 0 0 3px #00c48c26}.input-wrap{position:relative}.input-wrap .input-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-wrap .form-input{padding-left:42px}.input-wrap .input-action{color:var(--text-muted);border-radius:6px;padding:4px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.input-wrap .input-action:hover{color:var(--text);background:var(--bg)}.checkbox-wrap,.radio-wrap{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:flex}.checkbox-wrap input,.radio-wrap input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease)}.card:hover{box-shadow:var(--shadow)}.card-body{padding:var(--space-5)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-base);font-weight:700}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--bg);border-radius:0 0 var(--radius) var(--radius)}.badge{border-radius:var(--radius-full);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:4px;height:24px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-accent{background:var(--accent-light);color:#b37a00}.badge-success{background:var(--success-light);color:#007a57}.badge-danger{background:var(--danger-light);color:#c53030}.badge-critical{color:#c2410c;background:#ffedd5}.qty-critical{color:#c2410c;font-weight:700}.th-sort{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.th-sort:hover{color:var(--primary)}.data-table.stock-data-table th,.data-table.stock-data-table .th-sort{text-transform:none;letter-spacing:normal;font-size:12px}.stock-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.stock-pagination-actions{align-items:center;gap:8px;display:flex}.pd-alert{color:var(--text);background:#ffedd5a6;border:1px solid #c2410c59;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;line-height:1.45}.pd-alert.out{background:#fee2e2a6;border-color:#c5303059}.pd-alert.low{background:#fff6e0a6;border-color:#b37a0059}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.avatar{border-radius:var(--radius-full);background:var(--primary-light);width:36px;height:36px;color:var(--primary);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:28px;height:28px;font-size:10px}.avatar-channel{border-radius:12px}.avatar-lg{width:48px;height:48px;font-size:var(--text-sm)}.avatar-xl{width:64px;height:64px;font-size:var(--text-lg)}.avatar-online:after{content:"";background:var(--success);border:2px solid var(--card);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.avatar-stack{display:flex}.avatar-stack .avatar{border:2px solid var(--card);margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}.app-shell{background:#fff;width:100%;min-height:100dvh;display:flex}.billing-banner{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);border-bottom:1px solid #0000;flex-wrap:wrap;padding:10px 16px;line-height:1.4;display:flex}.billing-banner.is-warning{color:#7a5a00;background:#fff8e6;border-bottom-color:#f0d78c}.billing-banner.is-locked{color:#7f1d1d;background:#fef2f2;border-bottom-color:#fecaca}.billing-banner-text{flex:220px;min-width:0}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);height:100dvh;max-height:100dvh;z-index:var(--z-sidebar);transition:transform var(--duration-slow) var(--ease);color:var(--sidebar-text);border-right:1px solid #ffffff0f;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-brand{align-items:center;gap:var(--space-3);padding:var(--space-5);height:var(--header-height);border-bottom:1px solid #ffffff0f;flex-shrink:0;display:flex}.sidebar-logo{background:var(--accent);color:#111827;letter-spacing:-.06em;border-radius:10px;justify-content:center;align-items:center;width:40px;height:36px;padding:0 2px;font-size:9px;font-weight:800;display:flex;box-shadow:0 2px 8px #ffb00059}.sidebar-brand-text{font-weight:800;font-size:var(--text-lg);letter-spacing:-.03em;color:#fff}.sidebar-brand-text span{color:var(--accent)}.header-notif-slot{flex-shrink:0;justify-content:flex-end;justify-self:end;align-items:center;width:40px;height:40px;display:flex}.page-header-notif{flex-shrink:0;align-items:center;display:flex}.desktop-notif-fallback:empty{display:none}.desktop-notif-fallback:not(:empty){top:var(--space-6);right:var(--space-6);z-index:calc(var(--z-sticky) + 8);align-items:center;display:flex;position:absolute}@media (width<=1024px){.page-header-notif,.desktop-notif-fallback{display:none!important}}.sidebar-practice-menu{z-index:6;flex-shrink:0;position:relative}.sidebar-practice{margin:var(--space-4);padding:var(--space-3);border-radius:var(--radius);align-items:center;gap:var(--space-3);cursor:pointer;transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease);width:calc(100% - 2 * var(--space-4));text-align:left;color:inherit;font:inherit;background:#ffffff0a;border:1px solid #ffffff14;flex-shrink:0;display:flex}.sidebar-practice:hover{background:var(--sidebar-hover);border-color:#fff3}.sidebar-practice-menu.is-open .sidebar-practice{border-color:var(--primary);background:#171ce81f;box-shadow:inset 0 0 0 1px #171ce859}.sidebar-practice:disabled{cursor:default;opacity:.85}.sidebar-practice-info{flex:1;min-width:0}.sidebar-practice-label{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted);margin-bottom:2px;font-size:10px;font-weight:700}.sidebar-practice-name{font-size:var(--text-sm);color:#fff;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-weight:600;display:flex;overflow:hidden}.sidebar-practice-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.sidebar-practice-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:#ffb00024;border:1px solid #ffb00059;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:800}.sidebar-practice-chevron{color:var(--sidebar-muted);transition:transform var(--duration) var(--ease);flex-shrink:0}.sidebar-practice-chevron.is-open{color:#fff;transform:rotate(180deg)}.sidebar-online-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 3px #22c55e40}.sidebar-practice-meta{color:var(--sidebar-muted);font-size:11px}.sidebar-accounts-dropdown{margin:-4px var(--space-4) var(--space-3);box-shadow:none;z-index:5;color:var(--sidebar-text);background:0 0;border:0;padding:0 0 4px;position:relative}.sidebar-accounts-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted);padding:2px 4px 8px;font-size:10px;font-weight:700}.sidebar-accounts-list{gap:6px;max-height:min(280px,40vh);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.sidebar-accounts-item{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;transition:background var(--duration) var(--ease);background:#ffffff0a;border:0;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.sidebar-accounts-item:hover:not(:disabled):not(.is-active){background:var(--sidebar-hover)}.sidebar-accounts-item.is-active{background:var(--sidebar-active);color:#fff}.sidebar-accounts-item:disabled{cursor:wait;opacity:.75}.sidebar-accounts-avatar{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:800;display:inline-flex}.sidebar-accounts-avatar.tone-0{background:#ea580c}.sidebar-accounts-avatar.tone-1{background:#2563eb}.sidebar-accounts-avatar.tone-2{background:#16a34a}.sidebar-accounts-avatar.tone-3{background:#9333ea}.sidebar-accounts-avatar.tone-4{background:#db2777}.sidebar-accounts-avatar.is-muted{color:#f8fafc;background:#64748b}.sidebar-accounts-item-check{color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.sidebar-accounts-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sidebar-accounts-item-name{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.25;overflow:hidden}.sidebar-accounts-item-meta{color:#e2e8f0b8;font-size:11px;line-height:1.25}.sidebar-accounts-item.is-active .sidebar-accounts-item-meta{color:#ffffffd9}.sidebar-accounts-view-all{color:#93c5fd;width:100%;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:8px 4px;font-weight:600}.sidebar-accounts-view-all:hover{color:#bfdbfe;text-decoration:underline}.scan-active-practice,.scanner-active-practice{color:#ffffffb8;letter-spacing:.01em;align-items:center;gap:6px;max-width:100%;font-size:11px;font-weight:600;display:inline-flex}.scan-active-practice-dot,.scanner-active-practice-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px}.scan-active-practice-name,.scanner-active-practice-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-nav{overscroll-behavior:contain;min-height:0;padding:var(--space-2) var(--space-3);-webkit-overflow-scrolling:touch;flex:auto;overflow:hidden auto}.sidebar-settings{padding:0 var(--space-3) var(--space-2);border-top:1px solid #ffffff0f;flex-shrink:0}.sidebar-settings .nav-section{margin-bottom:0}.nav-section{margin-bottom:var(--space-4)}.nav-section:last-child{margin-bottom:var(--space-2)}.nav-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-muted);padding:var(--space-2) var(--space-3);font-size:10px;font-weight:700}.nav-item{align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--sidebar-muted);transition:all var(--duration) var(--ease);margin-bottom:2px;font-weight:500;display:flex;position:relative}.nav-item svg{opacity:.75;flex-shrink:0;width:18px;height:18px}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item:hover svg{opacity:1}.nav-item.active{background:var(--sidebar-active);color:#fff;font-weight:600}.nav-item.active svg{opacity:1;color:#fff}.nav-item.nav-item-cta{color:#93c5fd;font-weight:600}.nav-item.nav-item-cta:hover{color:#fff}.nav-item .nav-badge{background:var(--danger);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;display:flex}.nav-item .nav-badge.badge-warn{background:var(--accent);color:#111827}.sidebar-footer{padding:var(--space-4);gap:var(--space-2);border-top:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;display:flex}.sidebar-lang{justify-content:center;display:flex}.sidebar-logout{width:100%;color:var(--sidebar-muted);justify-content:flex-start;gap:8px}.sidebar-logout:hover{color:#fff;background:var(--sidebar-hover)}.sidebar-user-menu{position:relative}.sidebar-user{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--duration) var(--ease);background:0 0;border:0;display:flex}.sidebar-user:hover,.sidebar-user.is-open{background:var(--sidebar-hover)}.sidebar-user-info{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user-name{font-size:var(--text-sm);color:#fff;font-weight:600}.sidebar-user-email{color:var(--sidebar-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.sidebar-user-role{color:var(--sidebar-muted);font-size:11px}.sidebar-user-dropdown{border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:calc(var(--z-sticky) + 5);background:#fff;border-radius:12px;padding:8px;position:absolute;bottom:calc(100% + 8px);left:0;right:0}@media (height<=900px){.sidebar-brand{padding:var(--space-3) var(--space-4)}.sidebar-practice{margin:var(--space-3);padding:var(--space-2) var(--space-3);width:calc(100% - 2 * var(--space-3))}.sidebar-accounts-dropdown{left:var(--space-3);right:var(--space-3)}.sidebar-nav{padding:var(--space-1) var(--space-3)}.nav-section{margin-bottom:var(--space-3)}.nav-section-label{padding:var(--space-1) var(--space-3)}.nav-item{padding:8px var(--space-3)}.sidebar-footer{padding:var(--space-3);gap:var(--space-1)}.sidebar-user{padding:var(--space-1) var(--space-2)}}@media (height<=760px){.sidebar-practice-label{display:none}.nav-item{padding:6px var(--space-3)}.nav-section{margin-bottom:var(--space-2)}.sidebar-footer{padding:var(--space-2) var(--space-3)}}.main-wrap{margin-left:var(--sidebar-width);background:#fff;flex-direction:column;flex:1;min-width:0;max-width:100%;min-height:100dvh;display:flex}.top-header{height:var(--header-height);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 var(--space-6);z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-4);background:#ffffffd9;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-4);flex:1;min-width:0;display:flex}.header-title{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:700}.header-search{width:100%;max-width:360px}.header-right{align-items:center;gap:var(--space-2);display:flex}.header-btn{border-radius:var(--radius);width:40px;height:40px;color:var(--text-secondary);transition:all var(--duration) var(--ease);justify-content:center;align-items:center;display:flex;position:relative}.header-btn:hover{background:var(--bg);color:var(--text)}.header-btn .notif-dot{background:var(--danger);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.header-btn .notif-badge{background:var(--danger);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:4px;right:2px}.notif-bell{justify-self:end;position:relative}.notif-panel{border:1px solid var(--border);width:min(340px,100vw - 24px);max-height:min(420px,70vh);z-index:calc(var(--z-sticky) + 5);background:#fff;border-radius:12px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0f172a24}.notif-panel-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 8px;padding:12px 14px;display:flex}.notif-panel-sub{color:var(--text-secondary);font-size:12px}.notif-panel-list{padding:6px;overflow-y:auto}.notif-empty{text-align:center;color:var(--text-secondary);margin:0;padding:18px 12px;font-size:13px}.notif-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.notif-item:hover{background:var(--bg)}.notif-item.is-unread{background:#2563eb0f}.notif-item-text{font-size:13px;font-weight:550;line-height:1.35}.notif-item-time{color:var(--text-secondary);font-size:11px}.notif-item-note{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.sidebar-user-menu{justify-content:center;display:flex;position:relative}.sidebar-avatar-btn{color:var(--sidebar-muted);cursor:pointer;transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 4px;display:inline-flex}.sidebar-avatar-btn:hover,.sidebar-avatar-btn.is-open{background:var(--sidebar-hover);color:#fff;border-color:#ffffff47}.sidebar-avatar-btn .sidebar-avatar,.sidebar-avatar{width:32px;height:32px;font-size:12px;font-weight:700}.sidebar-user-dropdown{border:1px solid var(--border);width:min(260px,100% + 24px);box-shadow:var(--shadow-md);z-index:calc(var(--z-sticky) + 5);background:#fff;border-radius:12px;padding:12px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.sidebar-user-meta{border-bottom:1px solid var(--border);margin-bottom:8px;padding:4px 4px 10px}.sidebar-user-meta .sidebar-user-name{color:var(--text)}.sidebar-user-meta .sidebar-user-email,.sidebar-user-meta .sidebar-user-role{color:var(--text-muted)}.sidebar-user-meta .sidebar-user-role{color:var(--text-secondary);margin-top:2px}.sidebar-user-logout{width:100%;color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:10px 8px;font-weight:600;display:inline-flex}.sidebar-user-logout:hover{background:var(--danger-light);color:var(--danger)}.top-header-desktop{display:none}.header-desktop-spacer{flex:1}.header-user-menu{position:relative}.header-avatar-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 4px;display:inline-flex}.header-avatar-btn:hover,.header-avatar-btn.is-open{border-color:var(--border-strong);background:var(--bg);color:var(--text)}.header-avatar-btn .header-avatar,.header-avatar{width:32px;height:32px;font-size:12px;font-weight:700}.header-avatar-btn-mobile{background:0 0;border:none;padding:0}.header-avatar-btn-mobile .header-avatar{width:34px;height:34px}.header-user-dropdown{border:1px solid var(--border);width:min(280px,100vw - 24px);box-shadow:var(--shadow-md);z-index:calc(var(--z-sticky) + 5);background:#fff;border-radius:12px;padding:12px;position:absolute;top:calc(100% + 8px);right:0}.header-user-meta{border-bottom:1px solid var(--border);margin-bottom:8px;padding:4px 4px 10px}.header-user-name{font-size:var(--text-sm);color:var(--text);font-weight:700}.header-user-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.header-user-role{color:var(--text-secondary);margin-top:2px;font-size:12px}.header-user-logout{width:100%;color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:10px 8px;font-weight:600;display:inline-flex}.header-user-logout:hover{background:var(--danger-light);color:var(--danger)}.header-mobile-right{grid-column:3;justify-self:end;align-items:center;gap:4px;display:inline-flex}.top-header-mobile-only{position:relative}.header-user-dropdown-mobile{position:absolute;top:calc(100% + 4px);right:8px}.menu-toggle{border-radius:var(--radius);width:40px;height:40px;color:var(--text-secondary);justify-content:center;align-items:center;display:none}.menu-toggle:hover{background:var(--bg)}.page-content{padding:var(--space-6);padding-bottom:calc(var(--space-6) + var(--mobile-nav-height));flex:1}.page-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-header-text h1{margin-bottom:4px}.page-header-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-left:auto;display:flex}.mobile-nav{height:var(--mobile-nav-height);background:var(--card);border-top:1px solid var(--border);z-index:var(--z-sticky);padding:0 max(var(--space-2), env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(var(--space-2), env(safe-area-inset-left,0px));display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000d}.mobile-nav-item{color:var(--text-muted);height:100%;transition:color var(--duration) var(--ease);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:600;display:flex}.mobile-nav-item svg{width:22px;height:22px}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-item.scan-btn{position:relative}.mobile-nav-item.scan-btn .scan-circle{width:22px;height:22px;color:inherit;box-shadow:none;background:0 0;border-radius:0;justify-content:center;align-items:center;margin-top:0;display:flex}.mobile-nav-item.scan-btn.active .scan-circle{background:var(--primary);color:#fff;border-radius:50%;width:48px;height:48px;margin-top:-20px;box-shadow:0 4px 16px #171ce866}.mobile-nav-item.scan-btn.active{color:var(--primary)}.sidebar-overlay{z-index:calc(var(--z-sidebar) - 1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#11182766;display:none;position:fixed;inset:0}.kpi-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:all var(--duration) var(--ease);position:relative;overflow:hidden}button.kpi-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;appearance:none;display:block}.kpi-card.is-clickable:hover,.kpi-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.kpi-card.is-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kpi-card.is-selected{border-color:var(--kpi-accent,var(--primary));box-shadow:0 0 0 2px color-mix(in srgb, var(--kpi-accent,var(--primary)) 22%, transparent)}.kpi-card.is-selected:before{opacity:1}.kpi-card:before{content:"";background:var(--kpi-accent,var(--primary));opacity:0;height:3px;transition:opacity var(--duration) var(--ease);position:absolute;top:0;left:0;right:0}.kpi-card:hover:before{opacity:1}.kpi-icon{width:40px;height:40px;margin-bottom:var(--space-3);background:var(--kpi-bg,var(--primary-light));color:var(--kpi-accent,var(--primary));border-radius:10px;justify-content:center;align-items:center;display:flex}.kpi-icon svg{width:20px;height:20px}.kpi-label{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:4px;font-weight:500}.kpi-value{font-size:var(--text-2xl);letter-spacing:-.03em;font-weight:800;line-height:1.2}.kpi-change{margin-top:var(--space-2);align-items:center;gap:2px;font-size:11px;font-weight:600;display:inline-flex}.kpi-change.up{color:var(--success)}.kpi-change.down{color:var(--danger)}.table-wrap{border-radius:var(--radius);border:1px solid var(--border);background:var(--card);overflow-x:auto}.data-table{width:100%;font-size:var(--text-sm)}.data-table thead{z-index:1;position:sticky;top:0}.data-table th{background:var(--bg);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);padding:14px 16px}.data-table tbody tr{transition:background var(--duration) var(--ease)}.data-table tbody tr:hover{background:#171ce805}.data-table tbody tr:last-child td{border-bottom:none}.product-cell{align-items:center;gap:var(--space-3);display:flex}.product-thumb{background:var(--bg);border:1px solid var(--border);object-fit:cover;border-radius:8px;flex-shrink:0;width:40px;height:40px}.product-thumb-placeholder{background:var(--primary-light);width:40px;height:40px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.product-name{font-weight:600}.product-sku{color:var(--text-muted);font-size:11px}.table-actions{gap:4px;display:flex}.table-actions .btn-icon{width:32px;height:32px;color:var(--text-muted)}.table-actions .btn-icon:hover{background:var(--bg);color:var(--text)}.toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toolbar-search{flex:1;min-width:200px;max-width:320px}.stock-toolbar-search{flex:280px;min-width:260px;max-width:420px}.stock-toolbar-search .form-input{text-overflow:ellipsis;width:100%}.stock-toolbar-filters,.toolbar-filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar-actions{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.pagination{padding:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.pagination-btns{gap:4px;display:flex}.pagination-btns .btn-icon{border:1px solid var(--border);border-radius:8px;width:32px;height:32px}.pagination-btns .btn-icon.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btns .btn-icon:hover:not(.active){background:var(--bg)}.chart-card{padding:var(--space-5)}.chart-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.chart-legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.chart-legend-item{align-items:center;gap:6px;display:flex}.chart-dot{border-radius:50%;width:8px;height:8px}.bar-chart{height:160px;padding-top:var(--space-4);align-items:flex-end;gap:8px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bar{background:var(--primary);width:100%;max-width:36px;transition:height var(--duration-slow) var(--ease-out);border-radius:6px 6px 2px 2px;min-height:4px}.bar.accent{background:var(--accent)}.bar.success{background:var(--success)}.bar-label{color:var(--text-muted);font-size:10px;font-weight:500}.line-chart{height:160px;position:relative}.line-chart svg{width:100%;height:100%}.donut-wrap{align-items:center;gap:var(--space-6);display:flex}.donut{border-radius:50%;flex-shrink:0;width:140px;height:140px;position:relative}.donut-center{background:var(--card);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:28px}.donut-center strong{font-size:var(--text-xl);font-weight:800}.donut-center span{color:var(--text-muted);font-size:10px}.donut-legend{flex:1}.donut-legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);padding:6px 0;display:flex}.donut-legend-item .pct{color:var(--text-secondary);margin-left:auto;font-weight:600}.grid-2{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.grid-dashboard{gap:var(--space-5);grid-template-columns:repeat(12,1fr);display:grid}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.preview-layout{flex-direction:column;flex:1;min-height:100dvh;display:flex}.preview-layout.is-auth{background:#0b0d12}.preview-nav-wrap{z-index:1000;-webkit-backdrop-filter:blur(14px);background:#0b0d12eb;border-bottom:1px solid #ffffff0f;justify-content:center;padding:12px 16px;display:flex;position:sticky;top:0}.preview-layout.is-app .preview-nav-wrap{background:#111827f0}.preview-content{background:#fff;flex-direction:column;flex:1;min-height:0;display:flex}.preview-layout.is-auth .practice-page{background:0 0;width:100%}.preview-content>.app-shell{flex:1;min-height:calc(100vh - 64px)}.preview-layout.no-preview-nav .preview-content>.app-shell{min-height:100vh}.preview-content>.scanner-page{flex:1;min-height:calc(100vh - 64px);position:relative;inset:auto}.preview-layout.no-preview-nav .preview-content>.scanner-page{min-height:100vh}.app-shell:has(.scanner-page){height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.main-wrap:has(.scanner-page){align-self:stretch;height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.app-shell .scanner-page{z-index:auto;border-radius:var(--radius-lg);flex:auto;width:100%;height:auto;min-height:0;max-height:100%;position:relative;inset:auto;overflow:hidden}:is(.page-content-mockup:has(.scan-stage),.page-content-mockup:has(.scanner-page)){flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell .scan-stage{min-height:calc(100vh - 64px - var(--mobile-nav-height,0px));width:100%}.preview-layout.is-app .sidebar{height:calc(100vh - 64px);top:64px}.preview-layout.is-app .app-shell{min-height:calc(100vh - 64px)}.preview-layout.no-preview-nav.is-app .app-shell{min-height:100vh}@media (width<=1024px){.preview-layout.is-app{background:#eef1f6}.preview-layout.no-preview-nav .preview-content>.app-shell,.preview-layout.no-preview-nav.is-app .app-shell{height:auto;min-height:0}.preview-content{background:#eef1f6}.main-wrap{min-height:0}:is(.app-shell:has(.messaging-layout.mobile-chat),.main-wrap:has(.messaging-layout.mobile-chat)){min-height:calc(100dvh - var(--mobile-nav-height));height:calc(100dvh - var(--mobile-nav-height));max-height:calc(100dvh - var(--mobile-nav-height));overflow:hidden}}.auth-stage{min-height:calc(100vh - 64px);padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-5);background:#0b0d12;flex-direction:column;flex:1;display:flex}.preview-layout.no-preview-nav .auth-stage{min-height:100vh}.not-found-stage{box-sizing:border-box;background:#0b0d12;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px 16px;display:flex}.not-found-card{text-align:center;color:#111827;background:#fff;border-radius:20px;width:min(440px,100%);margin-inline:auto;padding:32px 28px;box-shadow:0 24px 80px #00000073}.not-found-card h1{color:#111827;margin:0 0 12px;font-size:1.6rem}.not-found-card p{color:#4b5563;margin:0 0 24px}.not-found-code{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin:0 0 8px;font-size:12px;font-weight:700}.preview-nav{justify-content:space-between;align-items:center;gap:var(--space-4);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff14;width:min(1200px,100%);padding:8px 12px;display:flex}.preview-tabs{flex-wrap:wrap;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.preview-tab{border-radius:var(--radius-full);color:#ffffff8c;transition:all var(--duration) var(--ease);white-space:nowrap;padding:8px 12px;font-size:12px;font-weight:600}.preview-tab:hover{color:#fff;background:#ffffff0f}.preview-tab.active{background:var(--primary);color:#fff;box-shadow:0 4px 14px #171ce873}.lang-pill{border-radius:var(--radius-full);background:#ffffff14;align-items:center;gap:2px;padding:3px;display:inline-flex}.lang-pill button{border-radius:var(--radius-full);color:#ffffff8c;transition:all var(--duration) var(--ease);cursor:pointer;background:0 0;border:0;min-width:2.25rem;padding:6px 10px;font-size:12px;font-weight:600}.lang-pill button.active{color:#111;background:#fff}.login-lang .lang-pill,.sidebar-lang .lang-pill,.header-lang .lang-pill{background:#eef2ff;border:1px solid #dbe3ff}.login-lang .lang-pill button,.sidebar-lang .lang-pill button,.header-lang .lang-pill button{color:#64748b}.login-lang .lang-pill button.active,.sidebar-lang .lang-pill button.active,.header-lang .lang-pill button.active{color:#fff;background:#171ce8}.sidebar-lang{justify-content:flex-start;margin-top:4px;margin-bottom:0;display:flex}.sidebar-lang .lang-pill{gap:1px;padding:2px}.sidebar-lang .lang-pill button{min-width:1.75rem;padding:3px 7px;font-size:11px;line-height:1.2}.header-lang{align-items:center;display:flex}.login-shell{background:#fff;border-radius:20px;grid-template-columns:1.05fr .95fr;width:min(1100px,100%);min-height:min(640px,100vh - 120px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000073}.login-lang{z-index:3;position:absolute;top:20px;right:20px}.login-brand{color:#fff;background:#171ce8;padding:clamp(2rem,4vw,3.5rem);display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";background:#0000001f;border-radius:50%;width:420px;height:420px;position:absolute;top:-140px;right:-100px}.login-brand:after{content:"";background:#0000001a;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-80px;left:-60px}.login-brand-inner{z-index:1;justify-content:space-between;gap:var(--space-10);flex-direction:column;width:100%;display:flex;position:relative}.login-logo{align-items:center;gap:var(--space-3);display:flex}.login-logo-mark{background:var(--accent);color:#111;letter-spacing:-.06em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:42px;padding:0 3px;font-size:11px;font-weight:800;display:flex}.login-logo-meta{flex-direction:column;gap:2px;display:flex}.login-logo-text{letter-spacing:-.03em;white-space:nowrap;font-size:18px;font-weight:800;line-height:1.1}.login-logo-sub{letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:10px;font-weight:600}.login-brand-copy{max-width:420px}.login-headline{color:#fff;letter-spacing:-.035em;margin-bottom:var(--space-4);font-size:clamp(2rem,3.4vw,2.75rem);font-weight:800;line-height:1.15}.login-sub{opacity:.85;max-width:360px;font-size:15px;font-weight:500;line-height:1.55}.login-features{gap:var(--space-2);flex-wrap:wrap;display:flex}.login-feature-badge{border-radius:var(--radius-full);background:#ffffff24;border:1px solid #ffffff1f;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex}.login-feature-badge.muted{opacity:.9;background:#ffffff14}.login-form-side{background:#fff;justify-content:center;align-items:center;padding:clamp(2rem,5vw,4rem);display:flex;position:relative}.login-form-panel{width:100%;max-width:360px}.login-form-title{letter-spacing:-.03em;margin-bottom:var(--space-8);color:var(--text);font-size:clamp(1.5rem,2.2vw,1.85rem);font-weight:800}.login-form .form-group{margin-bottom:var(--space-5)}.form-label.uppercase{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px;font-size:11px;font-weight:700}.login-input{background:#eef1f6;border:1.5px solid #0000;border-radius:12px;height:52px;padding:0 18px;font-weight:500}.login-password-wrap{position:relative}.login-password-wrap .login-input{width:100%;padding-right:48px}.login-password-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-password-toggle:hover{color:var(--text-primary)}.login-input:hover{border-color:var(--border-strong);background:#e8ecf3}.login-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);background:#fff}.login-submit{margin-top:var(--space-2);border-radius:12px;height:52px;font-size:15px;font-weight:700}.login-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:12px;margin:20px 0 16px;font-size:12px;font-weight:600;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border,#d8dee8);flex:1;height:1px}.login-google{border:1px solid var(--border,#d8dee8);height:52px;color:var(--text,#1a2332);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:600;display:inline-flex}.login-google:hover{border-color:var(--border-strong,#b8c2d1);background:#f7f9fc}.login-oauth-info{color:#2c3a66;background:#eef3ff;border-radius:10px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.45}.login-forgot{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.login-register-cta{margin-top:var(--space-3);text-align:center;font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.register-success-modal{max-width:420px}.register-success-icon{background:#00c48c1f;border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.register-success-modal .modal-body p{white-space:pre-line}.forgot-link{font-size:inherit;color:#6b7cff;font-weight:600}.forgot-link:hover{color:var(--primary);text-decoration:underline}.top-header-mobile-only{display:none}.header-brand{align-items:center;gap:8px;min-width:0;display:none}.header-brand-mark{background:var(--accent,#fbbf24);color:#111;letter-spacing:-.06em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;height:28px;padding:0 4px;font-size:9px;font-weight:800;display:inline-flex}.header-brand-name{letter-spacing:-.02em;color:#fff;white-space:nowrap;font-size:14px;font-weight:800}.page-content-mockup{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;position:relative}@media (width<=1024px){.preview-layout.is-app .main-wrap{background:#eef1f6}.top-header-mobile-only{border-bottom:1px solid var(--border);color:var(--text);-webkit-backdrop-filter:none;height:var(--mobile-header-offset);padding:env(safe-area-inset-top,0px) max(8px, env(safe-area-inset-right,0px)) 0 max(8px, env(safe-area-inset-left,0px));z-index:var(--z-sticky);background:#fff;grid-template-columns:40px 1fr 40px;align-items:center;display:grid;position:sticky;top:0}.top-header-mobile-only .menu-toggle{color:var(--text);grid-column:1;justify-self:start;display:inline-flex}.top-header-mobile-only .menu-toggle:hover{background:var(--bg)}.top-header-mobile-only .header-brand{grid-column:2;justify-self:center;display:inline-flex}.top-header-mobile-only .header-brand-name{color:var(--text)}.top-header-mobile-only .header-btn{color:var(--text-secondary);justify-self:end}.top-header-mobile-only .header-btn:hover{background:var(--bg);color:var(--text)}.top-header-mobile-only .header-btn .notif-badge{border-color:#fff}.top-header-mobile-only .header-title{display:none}.page-content-mockup{padding:0 0 calc(16px + var(--mobile-nav-height))}.content-panel{padding:14px max(14px, env(safe-area-inset-right,0px)) 16px max(14px, env(safe-area-inset-left,0px));box-shadow:none;border-radius:0;max-width:100%;min-height:0}.stock-dashboard-panel{background:#fff}.module-tabs{border-bottom-color:#e8edf5;gap:20px;margin:0 0 12px}.module-tab .module-tab-icon{display:none}.module-tab{padding:10px 2px 12px;font-size:12px}.page-header{align-items:center;gap:10px;margin-bottom:14px}.stock-page-header{margin-bottom:12px}.page-header-text h1{margin-bottom:2px;font-size:1.125rem;line-height:1.25}.stock-page-date{text-transform:capitalize;font-size:12px}.stock-page-header-actions{flex-shrink:0;gap:8px}.stock-page-header-actions .btn-icon-label{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.stock-page-header-actions .btn-icon-label .btn-label{display:none}.stock-page-header-actions .btn-primary.btn-icon-label{background:var(--primary);border-color:var(--primary)}.stock-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid;overflow:visible}.stock-kpi-row::-webkit-scrollbar{display:none}.stock-kpi{background:#f7f9fc;border-color:#e8edf5;border-radius:12px;min-width:0;padding:10px 12px}.stock-kpi .val{font-size:1.125rem}.stock-kpi .lbl{letter-spacing:.04em;white-space:normal;font-size:10px;line-height:1.3}.stock-toolbar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.stock-toolbar-search{flex:auto;width:100%;min-width:0;max-width:none}.stock-toolbar-filters{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.stock-toolbar-filters .stock-filter-select{width:100%;min-width:0;max-width:none;font-size:13px}.stock-mobile-list{border-top:1px solid #eef1f6;flex-direction:column;display:flex}.stock-mobile-row-wrap{border-bottom:1px solid #eef1f6;flex-direction:column;display:flex}.stock-mobile-row{color:inherit;border-bottom:none;grid-template-columns:44px 1fr auto 18px;align-items:center;gap:10px;padding:12px 0;text-decoration:none;display:grid}.stock-mobile-row:hover{background:#171ce805}.stock-mobile-stock-in{touch-action:manipulation;align-self:stretch;min-height:40px;margin:0 0 10px}.stock-mobile-row .product-thumb{border-radius:10px;width:44px;height:44px;font-size:12px}.stock-mobile-row-body{min-width:0}.stock-mobile-row-name{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.stock-mobile-row-ref{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.stock-mobile-row-end{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.stock-mobile-qty{white-space:nowrap;font-size:12px;font-weight:700}.stock-mobile-row .badge{border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.stock-mobile-chevron{color:#c5cdd8;flex-shrink:0}.stock-mobile-empty{text-align:center;padding:24px 0}.stock-kpi-panel .stock-kpi-mobile-list{display:flex}.stock-kpi-panel .stock-desktop-table{display:none!important}.stock-kpi-panel{border-radius:12px;margin-bottom:12px}.stock-mobile-list-hidden,.stock-desktop-table,.stock-desktop-only{display:none!important}.toolbar{gap:8px;margin-bottom:12px}.data-table th,.data-table td{padding:10px 8px}.mobile-nav{height:var(--mobile-nav-height);padding:0 max(4px, env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(4px, env(safe-area-inset-left,0px));border-top:1px solid #e8edf5;box-shadow:0 -6px 24px #0f172a0f}.mobile-nav-item{gap:3px;font-size:10px}}@media (width>=1025px){.stock-mobile-list{display:none}}.input-icon-right{pointer-events:none;left:auto;right:12px}:is(.input-wrap .form-input:has(+.input-icon-right),.input-wrap:has(.input-icon-right) .form-input){padding-right:40px}.phone-btn-manual{color:#fff!important;background:#ffffff0f!important;border-color:#fff3!important}.practice-page{width:100%;max-width:1080px;padding:var(--space-4);margin:0 auto}.practice-lang{justify-content:flex-end;margin-bottom:8px;display:flex}.practice-screen-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:#ffffff73;margin-bottom:var(--space-4);font-size:11px;font-weight:600}.practice-panel{box-shadow:var(--shadow-lg);background:#fff;border-radius:28px;padding:clamp(28px,5vw,48px)}.practice-hello{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:var(--space-3);font-size:12px;font-weight:700}.practice-panel h1{letter-spacing:-.03em;margin-bottom:var(--space-2);color:var(--text);font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.practice-panel .practice-sub{color:var(--text-secondary);margin-bottom:var(--space-8)}.practice-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.practice-card{border:1.5px solid var(--border);padding:var(--space-5);box-shadow:var(--shadow-xs);transition:all var(--duration) var(--ease);cursor:pointer;text-align:left;gap:var(--space-4);background:#fff;border-radius:18px;flex-direction:column;min-height:168px;display:flex;position:relative}.practice-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1;transform:translateY(-2px)}.practice-card.recent,.practice-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#fffbeb}.practice-card-arrow{color:#cbd5e1;position:absolute;top:16px;right:16px}.practice-card-badge{border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.practice-card-badge.scm{color:#ea580c;background:#ffedd5}.practice-card-badge.mine{color:#1d4ed8;background:#dbeafe}.practice-card-body{align-items:center;gap:var(--space-3);display:flex}.practice-avatar{color:#fff;width:48px;height:48px;font-weight:800;font-size:var(--text-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.practice-name{font-weight:700;font-size:var(--text-base);color:var(--text)}.practice-dentist{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.practice-card-select{color:var(--primary);margin-top:auto;font-size:12px;font-weight:700}.practice-signed-in{font-weight:600;margin-bottom:var(--space-2)!important}@media (width<=900px){.practice-grid{grid-template-columns:1fr}}.kanban{gap:var(--space-4);padding-bottom:var(--space-4);min-height:calc(100vh - 200px);display:flex;overflow-x:auto}.kanban-col{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;flex:0 0 300px;max-height:calc(100vh - 180px);display:flex}.kanban-col-header{align-items:center;gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--border);display:flex}.kanban-col-title{font-size:var(--text-sm);font-weight:700}.kanban-count{background:var(--border);color:var(--text-secondary);border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;display:flex}.kanban-cards{padding:var(--space-3);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.task-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:var(--shadow-xs);cursor:grab;transition:all var(--duration) var(--ease)}.task-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-1px)}.task-card:active{cursor:grabbing}.task-card-title{font-size:var(--text-sm);margin-bottom:var(--space-3);font-weight:600;line-height:1.4}.task-card-meta{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.task-progress{background:var(--border);height:4px;margin-bottom:var(--space-3);border-radius:2px;overflow:hidden}.task-progress-bar{background:var(--primary);height:100%;transition:width var(--duration-slow) var(--ease);border-radius:2px}.task-card-footer{justify-content:space-between;align-items:center;display:flex}.task-due{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.priority-high{background:var(--danger-light);color:#c53030}.priority-medium{background:var(--warning-light);color:#b37a00}.priority-low{background:var(--success-light);color:#007a57}.cal-controls{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.cal-view-toggle{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px;display:flex}.cal-view-toggle button{border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary);transition:all var(--duration) var(--ease);padding:6px 14px;font-weight:600}.cal-view-toggle button.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow-sm)}.calendar-grid{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.cal-day-header{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:12px;font-size:11px;font-weight:700}.cal-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:100px;transition:background var(--duration) var(--ease);padding:8px}.cal-day:nth-child(7n){border-right:none}.cal-day:hover{background:#171ce805}.cal-day.other-month{background:#fafafa}.cal-day.other-month .cal-day-num{color:var(--text-muted)}.cal-day.today .cal-day-num{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.cal-day-num{font-size:var(--text-sm);margin-bottom:4px;font-weight:600}.cal-event{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:opacity var(--duration) var(--ease);border-radius:4px;margin-bottom:2px;padding:3px 6px;font-size:10px;font-weight:600;overflow:hidden}.cal-event:hover{opacity:.8}.cal-event.meeting{background:var(--primary-light);color:var(--primary)}.cal-event.leave{background:var(--accent-light);color:#b37a00}.cal-event.training{background:var(--success-light);color:#007a57}.cal-event.review{color:#7c3aed;background:#f3e8ff}.side-panel{background:var(--card);border-left:1px solid var(--border);width:400px;max-width:100%;box-shadow:var(--shadow-lg);z-index:var(--z-modal);transition:transform var(--duration-slow) var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.side-panel.open{transform:translate(0)}.side-panel-header{padding:var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.side-panel-body{padding:var(--space-5);flex:1;overflow-y:auto}.panel-overlay{z-index:calc(var(--z-modal) - 1);opacity:0;pointer-events:none;transition:opacity var(--duration) var(--ease);background:#1118274d;position:fixed;inset:0}.panel-overlay.open{opacity:1;pointer-events:auto}.messaging-layout{height:calc(100vh - var(--header-height) - var(--space-6) * 2);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:320px 1fr;display:grid;overflow:hidden}@media (width>=1025px){.page-content:has(.messaging-layout){min-height:0;padding-bottom:var(--space-5);flex-direction:column;display:flex}.preview-layout.is-app .page-content:has(.messaging-layout){min-height:0;padding-bottom:var(--space-5);flex-direction:column;display:flex}.page-content:has(.messaging-layout) .messaging-layout{flex:1;height:auto;min-height:0}}.msg-sheet-handle,.msg-sidebar-title-row,.msg-create-cta,.msg-back{display:none}.page-content:has(.messaging-layout.mobile-chat) .page-back-btn{display:none}.msg-sidebar{border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.msg-sidebar-header{align-items:center;gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.msg-new{background:var(--primary);width:36px;height:36px;color:var(--text-inverse);cursor:pointer;transition:background var(--duration) var(--ease);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.msg-new:hover{background:var(--primary-hover)}.msg-tabs{gap:var(--space-4);padding:0 var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.msg-tab{padding:var(--space-3) 2px;font-family:inherit;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--duration) var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.msg-tab:hover{color:var(--text)}.msg-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.msg-list{flex:1;min-height:0;overflow-y:auto}.msg-list-group{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700;display:flex}.msg-list-add{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px;display:flex}.msg-list-add:hover{background:var(--bg);color:var(--primary)}.msg-list-empty{padding:var(--space-2) var(--space-4) var(--space-4);font-size:var(--text-xs);color:var(--text-muted);margin:0}.msg-conv{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:default;transition:background var(--duration) var(--ease);border-bottom:1px solid #0000;display:flex;position:relative}.msg-conv-main{align-items:center;gap:var(--space-3);text-align:left;cursor:pointer;min-width:0;color:inherit;font:inherit;background:0 0;border:0;flex:1;padding:0;display:flex}.msg-conv:hover{background:var(--bg)}.msg-conv.active{background:var(--primary-muted)}.msg-conv-info{flex:1;min-width:0}.msg-conv-menu{flex-shrink:0;margin-left:auto;position:relative}.msg-conv-menu-btn{opacity:.55}.msg-conv:hover .msg-conv-menu-btn,.msg-conv-menu.open .msg-conv-menu-btn{opacity:1}.msg-conv-menu .dropdown-menu{z-index:20;min-width:180px;left:auto;right:0}.msg-conv-top{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.msg-conv-name{font-size:var(--text-sm);font-weight:600}.msg-conv-time{color:var(--text-muted);font-size:10px}@media (width>=1025px){.msg-conv-info{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;display:grid}.msg-conv-name{grid-area:1/1}.msg-conv-time{white-space:nowrap;grid-area:1/2;align-self:center}.msg-conv-preview{grid-area:2/1/auto/-1}}.msg-conv-preview{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.msg-conv-chevron{color:#c5cdd8;flex-shrink:0;display:none}.msg-unread{background:var(--primary);color:#fff;border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:flex}.msg-main{flex-direction:column;min-height:0;display:flex}.msg-chat-header{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.msg-chat-header-info{flex:1;min-width:0}.msg-chat-header-name{font-weight:700;font-size:var(--text-sm);line-height:1.35}.msg-chat-header-sub{margin-top:2px}.msg-thread{padding:var(--space-5);gap:var(--space-4);background:var(--bg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.msg-thread-empty{font-size:var(--text-sm);color:var(--text-muted);margin:auto}.msg-day{gap:var(--space-4);flex-direction:column;display:flex}.msg-day-label{font-size:var(--text-xs);color:var(--text-muted);align-self:center;font-weight:600}.msg-group{align-items:flex-start;gap:var(--space-2);max-width:72%;display:flex}.msg-group.mine{flex-direction:row-reverse;align-self:flex-end}.msg-group-body{flex-direction:column;gap:4px;min-width:0;display:flex}.msg-group-meta{align-items:center;gap:var(--space-2);padding:0 4px;display:flex}.msg-group.mine .msg-group-meta{justify-content:flex-end}.msg-group-name{font-size:var(--text-xs);font-weight:700}.msg-group-time{color:var(--text-muted);font-size:10px}.msg-group.mine .msg-group-body{align-items:flex-end}.msg-group .msg-bubble{width:fit-content;max-width:100%}.msg-message{flex-direction:column;gap:4px;display:flex}.msg-group.mine .msg-message{align-items:flex-end}.msg-bubble-row{align-items:center;gap:var(--space-1);display:flex}.msg-group.mine .msg-bubble-row{flex-direction:row-reverse}.msg-react-wrap{opacity:0;transition:opacity var(--duration) var(--ease);position:relative}.msg-message:hover .msg-react-wrap,.msg-react-wrap:focus-within{opacity:1}.msg-react-btn{border:1px solid var(--border);background:var(--card);width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex}.msg-react-btn:hover{color:var(--primary);border-color:var(--primary)}.msg-emoji-inline{bottom:calc(100% + 4px);left:0;right:auto}.msg-group.mine .msg-emoji-inline{left:auto;right:0}.msg-reactions{flex-wrap:wrap;gap:4px;padding:0 2px;display:flex}.msg-reaction{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--card);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:border-color var(--duration) var(--ease);align-items:center;gap:4px;padding:1px 8px;font-weight:600;display:inline-flex}.msg-reaction.mine{border-color:var(--primary);background:var(--primary-muted);color:var(--primary)}.msg-receipt{color:var(--text-muted);align-items:center;gap:4px;padding:0 4px;font-size:10px;display:flex}.msg-file{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#0000000a;border:none;border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:8px;display:flex}.msg-file:hover{background:#00000014}.msg-file-info{overflow-wrap:anywhere;flex:1;min-width:0}.msg-pending-file{margin:0 var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 10px;display:flex}.msg-bubble{font-size:var(--text-sm);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-xs);border-radius:16px;padding:10px 14px;line-height:1.5}.msg-group.mine .msg-bubble{background:var(--primary);color:#fff;border-color:var(--primary)}.msg-group.mine .msg-bubble:last-child{border-bottom-right-radius:4px}.msg-group:not(.mine) .msg-bubble:last-child{border-bottom-left-radius:4px}.msg-typing{background:var(--card);border:1px solid var(--border);border-radius:16px;align-items:center;gap:4px;width:fit-content;padding:8px 14px;display:flex}.msg-typing span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite typingBounce}.msg-typing span:nth-child(2){animation-delay:.15s}.msg-typing span:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.msg-compose{align-items:center;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--border);background:var(--card);flex-shrink:0;display:flex}.msg-compose-field{align-items:center;gap:var(--space-1);min-width:0;height:48px;padding:0 var(--space-2);border:1.5px solid var(--border);border-radius:var(--radius-full);background:var(--bg);transition:border-color var(--duration) var(--ease);flex:1;display:flex;position:relative}.msg-compose-field:focus-within{border-color:var(--primary)}.msg-compose-field input{min-width:0;height:100%;font-family:inherit;font-size:var(--text-sm);color:var(--text);background:0 0;border:none;outline:none;flex:1}.msg-compose-icon{width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:color var(--duration) var(--ease), background var(--duration) var(--ease);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.msg-compose-icon:hover{background:var(--card);color:var(--primary)}.msg-emoji-pop{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:5;grid-template-columns:repeat(4,32px);gap:2px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);right:4px}.msg-emoji-pop button{cursor:pointer;background:0 0;border:none;border-radius:8px;height:32px;font-size:18px}.msg-emoji-pop button:hover{background:var(--bg)}.msg-send{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex}.msg-picker-list{margin-top:var(--space-3);flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.msg-picker-item{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.msg-picker-item:hover{background:var(--bg)}.msg-picker-info{min-width:0}.msg-attach{gap:2px;display:flex}.scanner-page{z-index:500;color:#fff;background:#0a0a0f;flex-direction:column;display:flex;position:fixed;inset:0}.scanner-header{padding:var(--space-4) var(--space-5);z-index:20;background:#0a0a0f;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.scanner-viewport{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden;container:scan-viewport/size}.scanner-camera-bg{z-index:0;opacity:.9;pointer-events:none;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);position:absolute;inset:0}.scanner-frame{aspect-ratio:210/297;z-index:1;box-sizing:border-box;border:2px solid #fff6;border-radius:20px;flex-shrink:0;width:auto;max-width:calc(100cqw - 16px);height:calc(100cqh - 12px);max-height:calc(100cqh - 12px);position:relative;overflow:hidden;box-shadow:0 0 0 9999px #00000080}.scanner-frame:before,.scanner-frame:after{content:"";border-color:var(--accent);border-style:solid;width:28px;height:28px;position:absolute}.scanner-frame:before{border-width:3px 0 0 3px;border-radius:6px 0 0;top:12px;left:12px}.scanner-frame:after{border-width:3px 3px 0 0;border-radius:0 6px 0 0;top:12px;right:12px}.scanner-corners-bl,.scanner-corners-br{border-color:var(--accent);border-style:solid;width:28px;height:28px;position:absolute}.scanner-corners-bl{border-width:0 0 3px 3px;border-radius:0 0 0 6px;bottom:12px;left:12px}.scanner-corners-br{border-width:0 3px 3px 0;border-radius:0 0 6px;bottom:12px;right:12px}.scan-line{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;box-shadow:0 0 12px var(--accent), 0 0 4px var(--accent);z-index:2;animation:2s ease-in-out infinite scanMove;position:absolute;left:10%;right:10%}@keyframes scanMove{0%,to{transform:translateY(-40px)}50%{transform:translateY(40px)}}.scanner-status{z-index:2;text-align:center;pointer-events:none;width:90%;position:absolute;top:12px;bottom:auto;left:50%;transform:translate(-50%)}.scanner-status .btn{pointer-events:auto}.scanner-supplier{border-radius:var(--radius-full);font-size:var(--text-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:var(--space-3);background:#ffffff1a;border:1px solid #fff3;align-items:center;gap:8px;padding:8px 16px;font-weight:600;display:inline-flex}.ocr-progress{max-width:280px;margin:0 auto}.ocr-progress-bar{background:#ffffff26;border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.ocr-progress-fill{background:var(--accent);border-radius:2px;width:0%;height:100%;transition:width .3s;animation:1.5s ease-in-out infinite ocrPulse}@keyframes ocrPulse{0%{width:20%}50%{width:70%}to{width:95%}}.ocr-progress-text{font-size:var(--text-xs);opacity:.7}.scanner-controls{padding:10px var(--space-6) 14px;justify-content:center;align-items:center;gap:var(--space-8);z-index:2;flex-shrink:0;display:flex;position:relative}.capture-btn{width:72px;height:72px;transition:all var(--duration) var(--ease);background:#fff;border:4px solid #ffffff4d;border-radius:50%;position:relative;box-shadow:0 0 0 4px #ffb00066}.capture-btn:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:6px}.capture-btn:hover{transform:scale(1.05)}.capture-btn:active{transform:scale(.95)}.scanner-ctrl-btn{color:#fff;width:48px;height:48px;transition:background var(--duration) var(--ease);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:relative;overflow:hidden}.scanner-ctrl-btn.is-disabled{opacity:.4;pointer-events:none}.scanner-file-input{opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.scan-capture{z-index:1;background:#0a0a0f;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scan-capture:after{content:"";background:#00000061;position:absolute;inset:0}.scan-capture img{object-fit:contain;width:100%;height:100%}.scan-capture-pdf{aspect-ratio:1/1.414;color:#111;text-align:center;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:min(72%,420px);max-height:86%;padding:28px 20px;display:flex;box-shadow:0 8px 32px #00000059}.scan-capture-pdf span{letter-spacing:.08em;color:#171ce8;font-size:13px;font-weight:700}.scan-capture-pdf strong{word-break:break-word;font-size:15px;font-weight:650}.scan-readout{z-index:3;text-align:center;color:#fff;pointer-events:none;width:min(280px,78%);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.scan-readout-pct{letter-spacing:-.03em;text-shadow:0 2px 12px #00000073;font-size:42px;font-weight:700}.scan-readout-track{background:#ffffff59;border-radius:99px;height:8px;margin:10px 0 12px;overflow:hidden}.scan-readout-fill{background:#ffb000;border-radius:99px;height:100%}.scan-readout-msg{text-shadow:0 1px 8px #00000080;margin:0;font-size:15px;font-weight:650}.scan-end{flex-direction:column;width:min(440px,100%);display:flex}.scan-end-card{color:#111;background:#fff;border:1px solid #e6e8ee;border-radius:16px;flex-direction:column;gap:20px;padding:28px 24px 24px;display:flex;box-shadow:0 12px 40px #1111110f}.scan-end-kicker{letter-spacing:.04em;text-transform:uppercase;color:#171ce8;margin:0;font-size:13px;font-weight:700}.scan-end-stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.scan-end-stats div{background:#f7f8fb;border-radius:12px;padding:16px 14px}.scan-end-stats strong{color:#111;font-size:36px;font-weight:700;line-height:1;display:block}.scan-end-stats span{color:#374151;margin-top:8px;font-size:13px;line-height:1.35;display:block}.scan-end-message{margin:0;font-size:1.05rem;line-height:1.45}.scan-kept-photo{object-fit:cover;background:#111;border-radius:12px;width:100%;max-height:240px}.scanner-ctrl-btn:hover{background:#fff3}.scan-results{background:var(--bg);z-index:10;color:var(--text);flex-direction:column;display:none;position:absolute;inset:76px 0 0}.scan-results.show{background:#f4f5f8;justify-content:center;align-items:center;padding:24px;display:flex}.scanner-page.has-results .scanner-header,.scanner-page.has-results .scan-mode-switch,.scanner-page.has-results .scanner-viewport,.scanner-page.has-results .scanner-controls{display:none}.scanner-page.has-results .scan-results{top:0}.scan-results.is-review{color:#111827;background:#f4f6fb;justify-content:flex-start;align-items:stretch;padding:20px 28px 40px;overflow:auto}.scan-results-back{z-index:2;position:absolute;top:16px;left:20px}.scan-review{flex-direction:column;gap:16px;width:min(1120px,100%);margin:0 auto;display:flex}.scan-review-head h1{letter-spacing:-.03em;color:#1b2140;margin:0;font-size:28px;font-weight:800;line-height:1.15}.scan-review-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.scan-review-head p{color:#6b7280;margin:8px 0 0;font-size:14px}.scan-review-badge{color:#15803d;background:#e7f8ee;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.scan-review-summary,.scan-review-card{background:#fff;border:1px solid #e7eaf1;border-radius:16px;box-shadow:0 1px 2px #1118270a}.scan-review-summary{justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.scan-review-stats{align-items:center;gap:22px;min-width:0;display:flex}.scan-review-stat{align-items:center;gap:12px;display:flex}.scan-review-stat strong{color:#1b2140;font-size:26px;font-weight:800;line-height:1;display:block}.scan-review-stat span span{color:#6b7280;margin-top:4px;font-size:13px;display:block}.scan-review-stat-icon{color:#171ce8;background:#eef0ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.scan-review-stat-icon-muted{color:#4b5563;background:#f3f4f8}.scan-review-stat-split{background:#e7eaf1;width:1px;height:42px}.scan-review-validate{white-space:nowrap;border-radius:12px;align-items:center;gap:8px;height:46px;padding:0 18px;font-weight:700;display:inline-flex}.scan-review-card{padding:18px 20px 16px}.scan-review-card-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.scan-review-card-head h2{color:#1b2140;margin:0;font-size:16px;font-weight:750}.scan-review-card-icon{color:#4b5563;background:#f3f4f8;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.scan-review-details{grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:18px;display:grid}.scan-review-details span{letter-spacing:.04em;text-transform:uppercase;color:#9ca3af;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.scan-review-details strong{color:#1b2140;margin-top:6px;font-size:15px;display:block}.scan-review-view{background:#fff;border-radius:12px;align-items:center;gap:8px;height:40px;display:inline-flex}.scan-review-hint{color:#6b7280;margin:-6px 0 12px;font-size:13px}.scan-review-table-wrap{margin:0 -4px;overflow-x:auto}.scan-review-table{border-collapse:collapse;width:100%;min-width:640px}.scan-review-table th{text-align:left;color:#6b7280;background:#f7f8fc;padding:12px 14px;font-size:12px;font-weight:650}.scan-review-table td{color:#1b2140;vertical-align:middle;border-top:1px solid #eef0f4;padding:14px;font-size:14px}.scan-review-product{align-items:center;gap:12px;font-weight:650;display:flex}.scan-review-thumb{color:#6b7280;background:#f3f4f8;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.scan-status-ok,.scan-status-check{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.scan-status-ok{color:#15803d;background:#e7f8ee}.scan-status-check{color:#b45309;background:#fff6e5}.scan-review-empty{text-align:center;color:#6b7280}.scan-review-ready,.scan-review-pending{border-radius:12px;align-items:center;gap:8px;margin:14px 0 0;padding:12px 14px;font-size:14px;font-weight:650;display:flex}.scan-review-ready{color:#166534;background:#e7f8ee}.scan-review-pending{color:#9a3412;background:#fff6e5}.scan-doc-modal{z-index:80;background:#1111118c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.scan-doc-sheet{background:#fff;border-radius:16px;width:min(860px,100%);max-height:min(90vh,900px);padding:16px;overflow:auto}.scan-doc-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.scan-doc-bar button{align-items:center;gap:6px;display:inline-flex}.scan-doc-sheet img{border-radius:8px;width:100%;height:auto;display:block}.scan-doc-sheet iframe{background:#f4f6fb;border:0;border-radius:8px;width:100%;height:75vh}@media (width<=800px){.scan-results.is-review{padding:16px 16px calc(24px + var(--mobile-nav-height))}.scan-review-summary{flex-direction:column;align-items:stretch}.scan-review-stats{flex-wrap:wrap}.scan-review-validate{justify-content:center;width:100%}.scan-review-details{grid-template-columns:1fr 1fr}.scan-review-view{grid-column:1/-1;justify-self:start}.scan-review-head h1{font-size:24px}}.scan-results-header{padding:var(--space-5);background:var(--card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.scan-results-body{padding:var(--space-5);flex:1;overflow-y:auto}.detected-product{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-3);display:flex}.confidence-bar{background:var(--border);border-radius:2px;width:80px;height:4px;overflow:hidden}.confidence-fill{background:var(--success);border-radius:2px;height:100%}.stat-row{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.leave-request{align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--border);transition:background var(--duration) var(--ease);display:flex}.leave-request:hover{background:var(--bg)}.leave-request:last-child{border-bottom:none}.leave-request .avatar{flex-shrink:0;margin-top:2px}.leave-request-main{flex:1;min-width:0}.leave-dates{font-size:var(--text-sm);font-weight:600}.leave-reason{font-size:var(--text-xs);color:var(--text-secondary)}.leave-decision-note{border-left:3px solid var(--danger,#dc2626);background:var(--bg);font-size:var(--text-xs);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px;margin-top:6px;padding:6px 10px}.leave-decision-by{color:var(--text-secondary)}.leave-decision-label{font-weight:600}.leave-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;margin-left:auto;display:flex}@media (width<=700px){.leave-request{flex-wrap:wrap}.leave-actions{width:100%;padding-left:calc(36px + var(--space-4));justify-content:flex-start;margin-left:0}}.review-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:all var(--duration) var(--ease)}.review-card:hover{box-shadow:var(--shadow)}.review-score{background:var(--primary-light);min-width:64px;height:56px;color:var(--primary);font-variant-numeric:tabular-nums;border-radius:14px;justify-content:center;align-items:center;padding:0 10px;font-size:1.125rem;font-weight:800;line-height:1.1;display:flex}.score-ring{background:conic-gradient(var(--primary) calc(var(--score) * 1%), var(--border) 0);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.05rem;font-weight:800;line-height:1.1;display:flex;position:relative}.score-ring:before{content:"";background:var(--card);border-radius:50%;position:absolute;inset:6px}.score-ring span{z-index:1;position:relative}.goal-rating-input{text-align:center;font-variant-numeric:tabular-nums;appearance:auto;-moz-appearance:number-input;flex-shrink:0;width:96px;min-width:96px;height:40px;padding:0 8px;font-size:15px;font-weight:700}.goal-rating-input::-webkit-outer-spin-button{opacity:1;cursor:pointer;height:32px;margin:0}.goal-rating-input::-webkit-inner-spin-button{opacity:1;cursor:pointer;height:32px;margin:0}.goal-rating-value{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:96px;min-width:96px;height:40px;color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.reviews-page,.reviews-page .card,.reviews-page .review-card,.reviews-page .grid-dashboard,.reviews-page .grid-dashboard>[class*=col-]{min-width:0;max-width:100%}.reviews-page .table-wrap{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}.goal-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;min-width:0;display:flex}.goal-item:last-child{border-bottom:none}.goal-item .form-input{min-width:0;max-width:100%}.goal-check{border:2px solid var(--border);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:flex}.goal-check.done{background:var(--success);border-color:var(--success);color:#fff}.reviews-employee-card{margin-bottom:var(--space-6);min-width:0;max-width:100%}.reviews-employee-card-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.reviews-employee-toolbar{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.reviews-employee-search{width:220px;max-width:100%;height:36px}.reviews-employee-sort,.reviews-cycle-select{width:auto;max-width:100%;height:36px}.reviews-employee-empty{padding:var(--space-4)}.reviews-employee-table-wrap{border:none}.reviews-mobile-list,.reviews-history-mobile-list{display:none}.reviews-subject-toolbar{margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}@media (width<=1024px){.content-panel.reviews-page{min-width:0;max-width:100%}.page-content.page-content-mockup:has(.reviews-page){flex:auto;min-width:0;max-width:100%;overflow:visible auto}.page-content:has(.reviews-page){flex:auto;min-width:0;max-width:100%;overflow:visible auto}.reviews-page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.reviews-page-header .page-header-text{min-width:0}.reviews-page-header h1,.reviews-page-header .text-sm{overflow-wrap:anywhere}.reviews-page-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%;min-width:0;display:flex}.reviews-page-actions .reviews-cycle-select,.reviews-page-actions .btn{justify-content:center;width:100%;min-width:0;max-width:100%}.reviews-subject-toolbar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.reviews-subject-toolbar .btn{white-space:normal;text-align:center;justify-content:center;width:100%;min-width:0;max-width:100%;height:auto;min-height:36px;padding-top:8px;padding-bottom:8px}.reviews-employee-card{box-shadow:none;border:none;margin-bottom:12px}.reviews-employee-card-header{flex-direction:column;align-items:stretch;gap:10px;padding-bottom:10px}.reviews-employee-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;display:grid}.reviews-employee-search{width:100%;min-width:0}.reviews-employee-sort{width:auto;min-width:0}.reviews-employee-table-wrap{display:none}.reviews-mobile-list{border-top:1px solid #eef1f6;flex-direction:column;display:flex}.reviews-mobile-row{text-align:left;width:100%;max-width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;border-bottom:1px solid #eef1f6;grid-template-columns:40px minmax(0,1fr) minmax(0,auto);align-items:center;gap:10px;padding:12px 0;display:grid}.reviews-mobile-row:last-child{border-bottom:none}.reviews-mobile-row:hover,.reviews-mobile-row:focus-visible{background:#171ce805;outline:none}.reviews-mobile-row-body{min-width:0}.reviews-mobile-row-name{overflow-wrap:anywhere;white-space:normal;font-size:13px;font-weight:700;line-height:1.3;display:block}.reviews-mobile-row-meta{color:var(--text-muted);overflow-wrap:anywhere;white-space:normal;margin-top:2px;font-size:11px;display:block}.reviews-mobile-row-end{flex-shrink:0;justify-self:end;min-width:0;max-width:42%}.reviews-mobile-row-end .badge{white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:100%;font-size:10px;line-height:1.2;display:inline-flex}.reviews-history-table-wrap{display:none}.reviews-history-mobile-list{padding:var(--space-3) 0;flex-direction:column;gap:10px;display:flex}.reviews-history-mobile-row{border-bottom:1px solid var(--border);min-width:0;padding:10px 0}.reviews-history-mobile-row:last-child{border-bottom:none}.reviews-history-mobile-main{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.reviews-history-mobile-main strong{overflow-wrap:anywhere;min-width:0}.reviews-history-mobile-meta{color:var(--text-muted);overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;margin-top:6px;font-size:12px;display:flex}.reviews-page .grid-dashboard{flex-direction:column;gap:12px;display:flex}.reviews-page .grid-dashboard>[class*=col-]{width:100%;max-width:100%}.reviews-page .review-card{overflow-wrap:anywhere;min-width:0;max-width:100%}.reviews-page .review-card .flex.items-center.gap-4{flex-wrap:wrap;min-width:0}.reviews-page .review-card h3{overflow-wrap:anywhere}.reviews-page .goal-item{gap:8px}}@media (width>=1025px){.reviews-mobile-list,.reviews-history-mobile-list{display:none!important}}.timeline{padding-left:var(--space-6);position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:4px;bottom:4px;left:7px}.timeline-item{padding-bottom:var(--space-5);position:relative}.timeline-item:before{content:"";left:calc(-1 * var(--space-6) + 2px);background:var(--card);border:2px solid var(--primary);z-index:1;border-radius:50%;width:12px;height:12px;position:absolute;top:6px}.timeline-item.in:before{border-color:var(--success);background:var(--success)}.timeline-item.out:before{border-color:var(--danger);background:var(--danger)}.timeline-date{color:var(--text-muted);margin-bottom:2px;font-size:11px;font-weight:500}.timeline-content{font-size:var(--text-sm);font-weight:500}.product-hero{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:320px 1fr;display:grid}.product-image-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);aspect-ratio:1;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.product-image-placeholder{border-radius:var(--radius);background:linear-gradient(135deg, var(--primary-light), #d0d2fa);width:160px;height:160px;color:var(--primary);justify-content:center;align-items:center;font-size:48px;font-weight:800;display:flex}.product-info-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow-sm)}.product-info-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.info-item label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.info-item value,.info-item .value{font-size:var(--text-base);font-weight:600}.summary-card{background:linear-gradient(135deg, var(--primary) 0%, #0e12a8 100%);color:#fff;border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-md)}.summary-card .label{opacity:.7;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.summary-card .value{font-size:var(--text-xl);margin-top:2px;font-weight:800}.summary-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius);font-size:var(--text-sm);margin-bottom:var(--space-4);border:1px solid #0000;display:flex}.alert-success{background:var(--success-light);color:#007a57;border-color:#00c48c4d}.alert-error{background:var(--danger-light);color:#c53030;border-color:#ff4d4d4d}.alert-warning{background:var(--warning-light);color:#b37a00;border-color:#ffb0004d}.alert-info{background:var(--primary-light);color:var(--primary);border-color:#171ce833}.toast-container{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:var(--text-sm);min-width:280px;animation:slideUp .3s var(--ease-out);padding:14px 18px;font-weight:500;display:flex}@media (width<=1024px){.toast-container{bottom:calc(var(--mobile-nav-height) + var(--space-3));right:max(var(--space-4), env(safe-area-inset-right,0px));left:max(var(--space-4), env(safe-area-inset-left,0px))}.toast{min-width:0;max-width:100%}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay);padding:var(--space-4);opacity:0;pointer-events:none;transition:opacity var(--duration) var(--ease);background:#11182773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:auto}.modal{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;transition:transform var(--duration) var(--ease);flex-direction:column;display:flex;overflow:hidden;transform:scale(.95)}.modal-overlay.open .modal{transform:scale(1)}.modal.modal-task{width:min(560px,100vw - 2rem);max-width:560px;height:auto;max-height:90vh}.modal.modal-meeting{width:min(720px,100vw - 2rem);max-width:720px;height:auto;max-height:88vh}.modal.modal-wide{width:min(640px,100vw - 2rem);max-width:640px;height:auto;max-height:90vh}.modal.modal-member{width:min(560px,100vw - 2rem);max-width:560px;height:auto;max-height:90vh}@media (width<=600px){.modal.modal-member{width:100%;max-width:100%}}@media (width<=560px){.modal.modal-task{width:100%;height:auto}}@media (width<=760px){.modal.modal-meeting{width:100%;height:auto}}.meeting-modal-body{padding-top:var(--space-4);padding-bottom:var(--space-4)}.meeting-modal-body .form-group{margin-bottom:var(--space-4)}.meeting-datetime-row{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1.3fr 1fr 1fr;display:grid}.meeting-datetime-row>.form-group{min-width:0;margin-bottom:0}.meeting-agenda-input{min-height:64px}.meeting-participant-picker-compact{max-height:110px}.task-dropzone-compact{gap:4px;min-height:72px;padding:12px}@media (width<=700px){.meeting-datetime-row{grid-template-columns:1fr}}.task-modal-header{align-items:flex-start}.task-modal-heading{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.task-modal-icon{background:var(--primary-light,#e8e9fd);width:40px;height:40px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-modal-heading-text{min-width:0}.task-modal-heading-text h2{margin:0}.task-modal-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px;font-weight:500;line-height:1.4}.task-modal-body .req-star{color:var(--danger);font-weight:700}.task-modal-body .input-wrap{position:relative}.task-modal-body .input-wrap .input-icon{color:var(--text-muted);pointer-events:none;z-index:1;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.task-modal-body .input-wrap .form-input{padding-left:40px}.task-dropzone{border-radius:var(--radius);width:100%;min-height:96px;color:var(--primary);cursor:pointer;text-align:center;transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease);background:#f8f9ff;border:1.5px dashed #a5b4fc;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;display:flex}.task-dropzone:hover{border-color:var(--primary);background:#eef0ff}.task-dropzone.has-file{border-style:solid;border-color:var(--primary)}.task-dropzone.is-disabled{opacity:.55;pointer-events:none}.task-dropzone-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:700;overflow:hidden}.task-dropzone-hint{color:var(--text-muted);font-size:11px;font-weight:500}.modal>form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.modal-header h2{font-size:var(--text-lg);min-width:0;margin:0;font-weight:700;line-height:1.3}.modal-body{padding:var(--space-5);flex:1;min-height:0;overflow-y:auto}.modal-body>.form-group:last-child,.modal-body>.form-row:last-child{margin-bottom:0}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--card);flex-shrink:0;display:flex}.form-row{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.form-row>.form-group{min-width:0;margin-bottom:0}.modal-attach{align-items:flex-start;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.modal-attach .meeting-files{width:100%;margin-bottom:0}.meeting-attach-btn{text-overflow:ellipsis;max-width:100%;overflow:hidden}.meeting-attach-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=560px){.form-row{grid-template-columns:1fr}.settings-page .form-row{gap:var(--space-4);grid-template-columns:1fr}}.task-filters{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.task-filter{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.task-filter.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light,#e8e9fd)}.task-filter-count{font-weight:700}.task-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:12px;padding:40px 16px}.task-sections{flex-direction:column;gap:22px;display:flex}.task-section-title{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:700;display:flex}.task-section-count{color:var(--text-muted);margin-left:auto;font-weight:600}.task-status-dot{background:#94a3b8;border-radius:50%;width:10px;height:10px}.task-status-dot.status-overdue,.task-status-badge.status-overdue{color:#b91c1c;background:#fee2e2}.task-status-dot.status-overdue{background:#ef4444}.task-status-dot.status-today,.task-status-badge.status-today{color:#b45309;background:#fef3c7}.task-status-dot.status-today{background:#f59e0b}.task-status-dot.status-upcoming,.task-status-badge.status-upcoming{color:#475569;background:#f1f5f9}.task-status-dot.status-upcoming{background:#94a3b8}.task-status-dot.status-completed,.task-status-badge.status-completed{color:#15803d;background:#dcfce7}.task-status-dot.status-completed{background:#22c55e}.task-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.task-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.task-row.is-completed{box-shadow:none;background:#f8fafc}.task-row.is-overdue{border-color:#fecaca}.task-check{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #cbd5e1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;display:inline-flex}.task-check.checked{background:#22c55e;border-color:#22c55e}.task-check:disabled{opacity:.5;cursor:not-allowed}.task-row-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.task-row-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.task-row-title{color:var(--text);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:14px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.task-row-title.struck{color:var(--text-muted);font-weight:600;text-decoration:line-through}.task-row-badges{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;display:flex}.task-row-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:12px;line-height:1.4;overflow:hidden}.task-row-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;font-size:12px;display:flex}.task-assignee{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.task-avatar-sm{width:22px;height:22px;font-size:9px}.task-assignee-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.task-due-chip,.task-attach-chip{color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.task-due-chip.is-overdue{color:#b91c1c;border-radius:var(--radius-full);background:#fef2f2;border:1px solid #fecaca;padding:2px 8px;font-weight:700}.task-status-badge{border-radius:var(--radius-full);white-space:nowrap;padding:3px 9px;font-size:11px;font-weight:700;line-height:1.2}.task-priority-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius-full);white-space:nowrap;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.2}.task-priority-badge.priority-high{background:var(--danger-light);color:#c53030}.task-priority-badge.priority-medium{background:var(--warning-light);color:#b37a00}.task-priority-badge.priority-low{background:var(--success-light);color:#007a57}.task-priority-badge.priority-done{color:#64748b;background:#f1f5f9}.task-row-actions{flex-shrink:0;align-items:flex-start;gap:2px;margin-left:4px;display:flex}.task-row-actions .btn-icon{color:var(--text-muted)}.task-row-actions .btn-icon:hover{color:var(--text);background:var(--bg)}@media (width<=700px){.task-row{gap:10px;padding:12px}.task-row-top{flex-direction:column;align-items:flex-start;gap:8px}.task-row-badges{justify-content:flex-start}.task-assignee-name{max-width:120px}.task-row-actions{margin-left:0}}.dropdown{display:inline-block;position:relative}.dropdown-menu{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow-md);padding:var(--space-1);z-index:var(--z-modal);opacity:0;pointer-events:none;transition:all var(--duration) var(--ease);position:absolute;top:calc(100% + 4px);right:0;transform:translateY(-4px)}.dropdown.open .dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdown-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text);transition:background var(--duration) var(--ease);text-align:left;border-radius:8px;width:100%;padding:8px 12px;display:flex}.dropdown-item:hover{background:var(--bg)}.dropdown-item.danger{color:var(--danger)}.dropdown-divider{background:var(--border);height:1px;margin:4px 0}.fab{bottom:calc(var(--mobile-nav-height) + var(--space-4));right:var(--space-5);background:var(--primary);color:#fff;width:56px;height:56px;z-index:var(--z-fab);transition:all var(--duration) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;box-shadow:0 6px 20px #171ce866}.fab:hover{transform:scale(1.08);box-shadow:0 8px 28px #171ce880}.fab svg{width:24px;height:24px}@media (width>=1025px){.fab{bottom:var(--space-6)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:6px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{padding:var(--space-12) var(--space-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{background:var(--bg);width:64px;height:64px;margin-bottom:var(--space-4);color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-state h3{margin-bottom:4px}.empty-state p{color:var(--text-secondary);font-size:var(--text-sm);max-width:320px;margin-bottom:var(--space-5)}.quick-actions{gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.quick-action{align-items:center;gap:var(--space-2);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text);box-shadow:var(--shadow-xs);transition:all var(--duration) var(--ease);padding:10px 16px;font-weight:600;display:flex}.quick-action:hover{border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow);transform:translateY(-1px)}.quick-action svg{width:16px;height:16px}.list-item{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.list-item:last-child{border-bottom:none}.list-item-body{flex:1;min-width:0}.list-item-title{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.list-item-sub{font-size:var(--text-xs);color:var(--text-secondary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.w-full{width:100%}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.showcase-page{background:var(--bg);min-height:100vh}.showcase-hero{color:#fff;padding:var(--space-12) var(--space-6);text-align:center;background:linear-gradient(145deg,#171ce8 0%,#0e12a8 100%);position:relative;overflow:hidden}.showcase-hero:before{content:"";background:#ffffff0d;border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-100px}.showcase-hero h1{color:#fff;margin-bottom:var(--space-3);font-size:clamp(2rem,4vw,3rem);position:relative}.showcase-hero p{opacity:.85;max-width:520px;margin:0 auto var(--space-6);position:relative}.showcase-grid{gap:var(--space-4);max-width:1100px;margin:calc(-1 * var(--space-8)) auto var(--space-12);padding:0 var(--space-6);z-index:1;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid;position:relative}.showcase-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow);transition:all var(--duration) var(--ease);display:block}.showcase-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-4px)}.showcase-num{background:var(--primary-light);width:32px;height:32px;color:var(--primary);font-weight:800;font-size:var(--text-xs);margin-bottom:var(--space-3);border-radius:8px;justify-content:center;align-items:center;display:flex}.showcase-card h3{font-size:var(--text-base);margin-bottom:4px}.showcase-card p{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.main-wrap{margin-left:0}.menu-toggle,.mobile-nav{display:flex}.grid-dashboard .col-4,.grid-dashboard .col-5,.grid-dashboard .col-6,.grid-dashboard .col-7,.grid-dashboard .col-8{grid-column:span 12}.product-hero{grid-template-columns:1fr}.messaging-layout{height:auto;min-height:0;max-height:none;box-shadow:none;background:var(--card);border:none;border-radius:0;outline:none;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.messaging-layout.mobile-list{background:#fff;flex:none;height:auto;min-height:0;overflow:visible}.messaging-layout.mobile-list .msg-sheet-handle{display:none}.messaging-layout.mobile-list .msg-sidebar{border-right:0;flex:none;gap:0;width:100%;height:auto;min-height:0;display:flex}.messaging-layout.mobile-list .msg-sidebar-title-row{padding:8px 16px 12px}.messaging-layout.mobile-list .msg-sidebar-title{letter-spacing:-.03em;color:var(--text);font-size:1.625rem;font-weight:800}.messaging-layout.mobile-list .msg-sidebar-header{border-bottom:0;padding:0 16px 12px}.messaging-layout.mobile-list .msg-sidebar-header .form-input{background:#f3f4f6;border-color:#eef1f5;border-radius:12px;height:44px}.messaging-layout.mobile-list .msg-new{border-radius:12px;width:44px;height:44px}.messaging-layout.mobile-list .msg-tabs{border-bottom-color:#e8edf5;gap:24px;padding:0 16px}.messaging-layout.mobile-list .msg-tab{padding:10px 2px 12px;font-size:14px}.messaging-layout.mobile-list .msg-list{flex-direction:column;flex:none;min-height:0;padding:0 16px 8px;display:flex;overflow-y:visible}.messaging-layout.mobile-list .msg-list-group{letter-spacing:.1em;color:#9ca3af;padding:16px 0 8px;font-size:11px}.messaging-layout.mobile-list .msg-conv-list{flex-direction:column;gap:10px;display:flex}.messaging-layout.mobile-list .msg-conv{text-align:left;background:#fff;border:1px solid #e8edf5;border-radius:14px;align-items:center;gap:8px;width:100%;padding:10px 10px 10px 14px}.messaging-layout.mobile-list .msg-conv-main{gap:12px}.messaging-layout.mobile-list .msg-conv:hover,.messaging-layout.mobile-list .msg-conv.active{background:#fff;border-color:#d8dee8}.messaging-layout.mobile-list .msg-conv.active{box-shadow:0 0 0 1px #171ce81f}.messaging-layout.mobile-list .msg-conv-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.messaging-layout.mobile-list .msg-conv-name{color:var(--text);white-space:normal;word-break:break-word;font-size:15px;font-weight:700;line-height:1.35}.messaging-layout.mobile-list .msg-conv-time{color:var(--text-muted);font-size:12px;font-weight:500}.messaging-layout.mobile-list .msg-conv-preview{color:var(--text-secondary);white-space:normal;text-overflow:unset;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.messaging-layout.mobile-list .msg-conv-chevron{align-self:center;margin-left:4px;display:block}.messaging-layout.mobile-list .msg-unread{align-self:center;margin-right:4px}.messaging-layout.mobile-list .msg-list-empty{padding:8px 0 12px;font-size:13px}.messaging-layout.mobile-list .msg-create-cta{width:auto;color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;margin:16px auto 8px;padding:8px 4px;font-size:14px;font-weight:700;display:inline-flex}.messaging-layout.mobile-list .msg-create-cta:hover{color:var(--primary-hover);background:0 0}.msg-back{display:inline-flex}.messaging-layout.mobile-chat .msg-main{flex:1;width:100%;height:auto;min-height:0;display:flex}.page-content:has(.messaging-layout.mobile-chat){flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.preview-layout.is-app .page-content:has(.messaging-layout.mobile-chat){flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.page-content-mockup:has(.messaging-layout.mobile-chat){flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.page-content:has(.messaging-layout.mobile-list){min-height:0;padding:0;padding-bottom:var(--mobile-nav-height);background:#fff;flex:none;display:block;overflow:visible}.preview-layout.is-app .page-content:has(.messaging-layout.mobile-list){min-height:0;padding:0;padding-bottom:var(--mobile-nav-height);background:#fff;flex:none;display:block;overflow:visible}.page-content-mockup:has(.messaging-layout.mobile-list){min-height:0;padding:0;padding-bottom:var(--mobile-nav-height);background:#fff;flex:none;display:block;overflow:visible}.main-wrap:has(.messaging-layout.mobile-chat){flex-direction:column;min-height:0;display:flex}.main-wrap:has(.messaging-layout.mobile-list){height:auto;min-height:0}.msg-chat-header{align-items:flex-start}.msg-chat-header-name{white-space:normal;text-overflow:unset;word-break:break-word;overflow:visible}.msg-group{max-width:88%}.msg-group-meta{flex-wrap:wrap;gap:4px 8px}.msg-group-name{white-space:normal;text-overflow:unset;word-break:break-word;flex:auto;min-width:0;overflow:visible}:is(.page-content-mockup:has(.meetings-page),.page-content:has(.meetings-page)){padding:0;padding-bottom:var(--mobile-nav-height);background:#fff}.content-panel.meetings-page{min-height:0;box-shadow:none;border-radius:0}@media (width<=900px){.auth-stage{background:#171ce8;justify-content:flex-start;align-items:stretch;min-height:100dvh;padding:0}.login-shell{width:100%;min-height:100dvh;box-shadow:none;background:0 0;border-radius:0;flex-direction:column;display:flex;overflow:visible}.login-brand{min-height:auto;padding:calc(20px + env(safe-area-inset-top,0px)) 22px 40px;border-radius:0;display:flex}.login-brand-inner{gap:20px}.login-features{display:none}.login-headline{margin-bottom:10px;font-size:1.85rem}.login-sub{max-width:none;font-size:14px}.login-lang{top:16px;right:16px}.login-lang .lang-pill{background:#ffffff29;border-color:#ffffff38}.login-lang .lang-pill button{color:#ffffffbf}.login-lang .lang-pill button.active{color:#171ce8;background:#fff}.login-form-side{background:#fff;border-radius:24px 24px 0 0;flex:1;align-items:flex-start;width:100%;margin-top:-18px;padding:28px 22px 32px;box-shadow:0 -8px 28px #0000001f}.login-form-panel{width:100%;max-width:none}.login-form-title{margin-bottom:24px;padding-right:0;font-size:1.45rem;line-height:1.2}.practice-page{width:100%;max-width:none;min-height:100dvh;padding:0}.practice-screen-label{padding:calc(16px + env(safe-area-inset-top,0px)) 20px 8px;text-align:left;color:#ffffffb3}.practice-panel{min-height:calc(100dvh - 48px);padding:24px 20px calc(32px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0}.practice-grid{grid-template-columns:1fr;gap:12px}.practice-card{border-radius:16px;min-height:0;padding:16px}.preview-nav{border-radius:16px;flex-direction:column;align-items:stretch}}}@media (width<=768px){.login-shell{border-radius:16px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-content{padding:var(--space-4)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.toolbar-actions{width:100%;margin-left:0}.cal-day{min-height:64px}.cal-event{display:none}.cal-day.has-events .cal-day-num:after{content:"";background:var(--primary);border-radius:50%;width:4px;height:4px;margin:2px auto 0;display:block}.practice-page{padding:var(--space-4)}.header-search{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.preview-layout.is-app{background:#fff}.preview-layout.is-app .main-wrap{background:#fff;min-height:100dvh}.preview-layout.is-app .page-content,.preview-layout.is-app .page-content-mockup{background:#fff;flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.preview-layout.no-preview-nav.is-app .app-shell{background:#fff;min-height:100dvh}.preview-layout.no-preview-nav.is-app .sidebar{height:100dvh;top:0}.preview-layout.is-app .top-header-desktop,.preview-layout.is-app .top-header-mobile-only{display:none}@media (width<=1024px){.preview-layout.is-app .top-header-desktop{display:none}.preview-layout.is-app .top-header.top-header-mobile-only{display:grid}.preview-layout.is-app .page-content,.preview-layout.is-app .page-content-mockup{padding:0 0 calc(16px + var(--mobile-nav-height))}.content-panel{min-height:0}}.content-panel{box-shadow:none;min-height:calc(100vh - var(--header-height));min-height:calc(100dvh - var(--header-height));box-sizing:border-box;background:#fff;border-radius:0;flex:auto;width:100%;padding:clamp(20px,3vw,32px)}.content-panel.delivery-correction-panel{flex-direction:column;display:flex}.delivery-correction-panel .grid-dashboard{flex:auto;align-content:start}.dn-review{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.dn-summary{width:100%}.dn-actions{flex-wrap:wrap;gap:8px;display:flex}.dn-actions .btn{flex:220px}.dn-notice{color:#111;background:#fff;border:1px solid #171ce8;border-radius:12px;padding:12px 14px}.dn-hero{color:#fff;background:#171ce8;border-radius:14px;padding:14px 16px}.dn-hero-top{justify-content:space-between;gap:12px;font-size:15px;font-weight:700;display:flex}.dn-hero-top span:last-child{text-align:right}.dn-hero-meta{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font-size:13px;display:flex}.dn-badge-pending{color:#111;background:#ffb000;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.dn-line-list{flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.dn-line{color:#111;background:#fff;border:1px solid #111;border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:8px 10px;display:flex}.dn-line-open{color:#111;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:row;align-items:center;gap:8px;width:100%;min-width:0;padding:0;display:flex}.dn-line-index{flex:none;width:1.25rem;font-size:13px;font-weight:700}.dn-line-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.dn-line-open:focus-visible,.dn-line-controls :focus-visible,.dn-detail :focus-visible,.dn-expiry-link:focus-visible,.dn-text-btn:focus-visible{outline-offset:2px;outline:2px solid #171ce8}.dn-line-name{font-weight:700;font-size:var(--text-base);overflow-wrap:anywhere}.dn-line-meta{color:#111;flex-wrap:wrap;gap:4px 10px;font-size:12px;display:flex}.dn-line-warning{color:#111;margin:0;font-size:12px}.dn-footer{flex-direction:column;gap:8px;display:flex}.dn-expiry-link,.dn-text-btn{color:#111;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:700;text-decoration:none}.dn-footer-note{color:#111;margin:0;font-size:13px}.dn-footer-links{flex-wrap:wrap;gap:12px 16px;display:flex}.dn-detail-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dn-stepper{align-items:center;gap:8px;display:flex}.dn-stepper .form-input{text-align:center}.dn-stepper-btn{color:#111;cursor:pointer;background:#fff;border:1px solid #111;border-radius:8px;width:36px;height:36px;font-weight:700}.dn-line-controls{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.dn-line-controls .product-search,.dn-line-controls .product-search-select,.dn-line-controls>:first-child{flex:160px;min-width:0;max-width:none}.dn-score{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.dn-status-matched{color:#111;background:#fff;border:1px solid #111}.dn-status-unmatched{color:#111;background:#ffb000}.dn-status-review{color:#fff;background:#171ce8}.dn-line-empty{color:var(--text-muted);padding:16px}.modal.dn-detail{border-radius:18px;width:min(720px,100vw - 48px);max-width:720px;max-height:min(92dvh,900px);overflow:auto}.dn-detail .modal-header h2{font-size:1.45rem}.dn-detail .form-input,.dn-detail select.form-input{height:46px;font-size:16px}.dn-detail-head{border-bottom:0;align-items:flex-start;padding-bottom:0}.dn-detail-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#111;margin:0 0 6px;font-size:13px;font-weight:700}.dn-detail-kicker{color:#111;margin:4px 0 6px;font-size:13px}.dn-detail-note{color:#111;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font-size:13px}.dn-detail .product-search-select{min-width:0;max-width:none}.dn-detail .product-search-select__trigger{background:#fff;border:1px solid #e5e7eb;border-radius:12px;height:auto;min-height:52px;padding:8px 12px}.dn-detail .product-search-select__trigger:after{display:none}.dn-detail .form-label{color:#111;flex-direction:column;gap:8px;font-size:15px;font-weight:600;display:flex}.dn-detail-total{color:#111;align-items:center;min-height:36px;font-weight:700;display:flex}.dn-detail-hint{color:#111;margin:0;font-size:12px}.dn-detail-qty{justify-content:space-between;align-items:center;gap:12px;display:flex}.dn-detail-qty .dn-stepper{flex:0 0 180px}.dn-detail .dn-stepper-btn{width:44px;height:44px;font-size:20px}.dn-detail-stock{color:#111;justify-content:space-between;gap:12px;font-size:14px;display:flex}.dn-detail-remove{text-align:center;align-self:center}.dn-create-tabs{background:#f3f4f6;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.dn-create-tab{color:#111;height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:15px;font-weight:700}.dn-create-tab.is-active{background:#fff;box-shadow:0 1px 2px #1111111f}.dn-detail-body{gap:14px;padding:8px 28px 28px;display:grid}@media (width<=1024px){.dn-actions{flex-direction:column}.dn-actions .btn{flex-basis:auto;width:100%}.dn-line-controls{flex-direction:row;align-items:center}.dn-hero-top{flex-direction:column;align-items:flex-start}.dn-hero-top span:last-child{text-align:left}.modal.dn-detail{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-width:100%;max-height:92dvh;margin-top:auto}.modal-overlay:has(.dn-detail){align-items:flex-end}.content-panel{min-height:0}}.module-tabs{gap:var(--space-6);border-bottom:2px solid var(--border);margin-bottom:var(--space-5);display:flex}.module-tab{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 4px 14px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.module-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.stock-kpi-row{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.stock-kpi{background:var(--bg);border:1px solid var(--border);text-align:left;min-width:0;font:inherit;color:inherit;appearance:none;border-radius:14px;width:100%;padding:12px 14px}.stock-kpi.is-clickable{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .15s,box-shadow .15s,background .15s}.stock-kpi.is-clickable:hover{background:#fff;border-color:#c5c9d4}.stock-kpi.is-clickable:active{border-color:var(--primary);background:#fff}.stock-kpi.is-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.stock-kpi.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted);background:#fff}.stock-kpi .val{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1.25rem;font-weight:700;line-height:1.2}.stock-kpi .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:11px;font-weight:700}.stock-kpi.danger .val{color:var(--danger)}.stock-expiry-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.stock-expiry-lot{flex-wrap:wrap;gap:6px;font-size:.85rem;display:flex}.stock-expiry-status{font-weight:700}.stock-expiry-lot.is-expired,.stock-expiry-lot.is-within3m{color:#7f1d1d}.stock-mobile-expiry{margin-top:4px}.dn-expiry-progress{margin:0 0 8px}.dn-expiry-count{font-weight:700}.dn-expiry-blocking{color:#111;margin:4px 0 0}.dn-expiry-required{font-weight:600}.stock-kpi.warn .val{color:#f59e0b}.stock-kpi.primary .val{color:var(--primary)}.stock-kpi.critical .val{color:#c2410c}@media (width<=1024px){.preview-layout.is-app,.preview-layout.no-preview-nav.is-app{height:auto;min-height:100dvh;overflow:visible}.preview-content,.preview-layout.no-preview-nav .preview-content>.app-shell,.preview-layout.no-preview-nav.is-app .app-shell{height:auto;min-height:0;overflow:visible}.app-shell:has(.stock-dashboard-panel){height:auto;min-height:0;overflow:visible}.main-wrap:has(.stock-dashboard-panel){height:auto;min-height:0;overflow:visible}.page-content.page-content-mockup:has(.stock-dashboard-panel){padding-bottom:calc(24px + var(--mobile-nav-height));flex:1 0 auto;overflow:visible}.content-panel.stock-dashboard-panel{min-height:0;overflow:visible}.stock-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;padding-bottom:0;display:grid;overflow:visible}.stock-kpi{background:#f7f9fc;border-color:#e8edf5;border-radius:12px;flex:none;width:auto;min-width:0;padding:12px}.stock-kpi.primary{grid-column:1/-1}.stock-kpi .val{overflow-wrap:anywhere;word-break:normal;white-space:normal;font-size:1.25rem;line-height:1.2}.stock-kpi .lbl{letter-spacing:.04em;white-space:normal;margin-top:4px;font-size:10px;line-height:1.3}.stock-mobile-list{-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;overflow:visible}.stock-pagination{gap:10px;margin-top:12px}}.stock-kpi-panel{margin:0 0 var(--space-5);border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.stock-kpi-panel-header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);padding:12px 16px;display:flex}.stock-kpi-panel-title{font-size:var(--text-sm);color:var(--text);margin:0;font-weight:700}.stock-kpi-panel .table-wrap{border:none;border-radius:0;max-width:100%}.stock-filter-select{flex:0 auto;width:auto;min-width:11.5rem;max-width:16rem}.stock-scan-actions{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.stock-scan-cta{background:var(--primary);color:#fff;width:100%;min-width:0;font-weight:700;font-size:var(--text-sm);text-align:center;white-space:normal;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:14px 12px;line-height:1.25;text-decoration:none;display:flex}.stock-scan-cta:hover{background:var(--primary-hover);color:#fff}.stock-scan-cta svg{flex-shrink:0}.qty-danger{color:var(--danger);font-weight:700}.qty-warn{color:#f59e0b;font-weight:700}.qty-ok{color:var(--success);font-weight:700}.btn-stock-in{color:#1d4ed8;cursor:pointer;background:#dbeafe;border:none;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:700}.btn-stock-out{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:700}.stock-adjust-modal-body{gap:var(--space-4);display:grid}.stock-adjust-product-name{font-weight:700}.btn-edit-amber{color:#b45309;cursor:pointer;background:#fef3c7;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.pd-layout{gap:var(--space-5);grid-template-columns:1.15fr .85fr;display:grid}.pd-breadcrumb{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.pd-breadcrumb a{color:var(--primary);font-weight:600;font-size:var(--text-sm)}.pd-image{aspect-ratio:4/3;margin-bottom:var(--space-4);background:#f1f5f9;border-radius:16px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.pd-image img{object-fit:cover;width:100%;height:100%}.pd-image-badge{position:absolute;top:12px;right:12px}.pd-metrics{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.pd-metric{background:var(--bg);padding:var(--space-3) var(--space-4);border-radius:12px;flex-direction:column;min-width:0;min-height:72px;display:flex}.pd-metric .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);min-height:2.6em;font-size:10px;font-weight:700;line-height:1.3}.pd-metric .val{overflow-wrap:anywhere;margin-top:auto;font-size:1.35rem;font-weight:800;line-height:1.2}.pd-metric .val-unit{color:var(--text-muted);margin-left:4px;font-size:.75rem;font-weight:600}.pd-actions{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=1024px){.pd-layout{gap:var(--space-4);grid-template-columns:1fr}.pd-layout>div:first-child>.card{margin-bottom:0!important}.pd-layout>div:first-child{gap:var(--space-4);flex-direction:column;display:flex}.pd-breadcrumb{margin-bottom:var(--space-4)}.pd-layout .card-header{flex-direction:column;align-items:flex-start}}.movement-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.movement-row:last-child{border-bottom:none}.movement-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.movement-icon.in{color:#16a34a;background:#dcfce7}.movement-icon.out{color:#dc2626;background:#fee2e2}.movement-qty{text-align:right;margin-left:auto}.movement-qty strong{font-size:1.125rem}.movement-qty .rest{color:var(--text-muted);font-size:11px}.np-layout{gap:var(--space-5);grid-template-columns:1.4fr .7fr;align-items:start;display:grid}.np-card{border:1px solid var(--border);padding:var(--space-5);margin-bottom:var(--space-4);background:#fff;border-radius:16px}.np-card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:var(--space-4);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.np-grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.np-summary{border:1px solid var(--border);padding:var(--space-5);background:#fff;border-radius:16px;position:sticky;top:88px}.np-warn{color:#92400e;font-size:var(--text-sm);margin:var(--space-3) 0 var(--space-4);background:#fffbeb;border:1px solid #fde68a;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.np-photo-drop{border:2px dashed var(--border);text-align:center;color:var(--text-muted);background:var(--bg);cursor:pointer;border-radius:14px;width:100%;padding:28px;transition:border-color .15s,background .15s}.np-photo-drop:hover{border-color:var(--primary);background:var(--primary-light,#eef2ff)}.np-photo-drop.has-preview{border-style:solid;min-height:160px;padding:0;overflow:hidden}.np-photo-preview{object-fit:cover;width:100%;height:200px;display:block}.np-photo-chooser-modal{max-width:400px}.np-photo-camera-modal{max-width:560px}.np-barcode-wrap .form-input{padding-left:14px;padding-right:44px}.np-barcode-viewport .np-barcode-frame{pointer-events:none;border:2px solid #00c48cd9;border-radius:12px;position:absolute;inset:18% 16%;box-shadow:0 0 0 999px #0f172a59}.np-camera-viewport{aspect-ratio:4/3;background:#0f172a;border-radius:12px;width:100%;position:relative;overflow:hidden}.np-camera-video{object-fit:cover;background:#0f172a;width:100%;height:100%;display:block}.np-camera-waiting{color:#cbd5e1;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}@media (width<=1024px){:is(.page-content-mockup:has(.np-layout),.page-content:has(.np-layout)){padding-bottom:var(--mobile-nav-height)}.content-panel:has(.np-layout){padding-bottom:12px}.content-panel:has(.np-layout) .page-header-actions{display:none}.np-layout{grid-template-columns:unset;gap:var(--space-4);flex-direction:column;align-items:stretch;min-height:0;display:flex}.np-grid-2{grid-template-columns:1fr}.np-layout>div:first-child{flex-direction:column;gap:0;min-height:0;display:flex}.np-layout>div:first-child>.np-card:last-child{margin-bottom:0}.np-summary{border:1px solid var(--border);box-shadow:none;border-radius:16px;order:2;margin-top:0;position:static;top:auto}.np-summary-save{min-height:48px;font-size:15px;font-weight:700}}.stats-period-select{width:200px}.stats-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr))}.stock-kpi .meta{color:var(--text-muted);letter-spacing:normal;text-transform:none;margin-top:4px;font-size:11px;font-weight:500;line-height:1.35}.stock-kpi .meta-up{color:var(--success);font-weight:600}.stock-kpi .meta-down{color:var(--danger);font-weight:600}.stock-kpi .meta-warn{color:#f59e0b;font-weight:600}.stats-grid-2{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=1024px){.content-panel.stats-page{min-width:0;max-width:100%;overflow-x:hidden}.page-content.page-content-mockup:has(.stats-page){min-width:0;max-width:100%;padding-bottom:calc(24px + var(--mobile-nav-height));flex:auto;overflow:hidden auto}.page-content:has(.stats-page){min-width:0;max-width:100%;padding-bottom:calc(24px + var(--mobile-nav-height));flex:auto;overflow:hidden auto}.stats-page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.stats-page-header .page-header-text{min-width:0}.stats-page-header h1{overflow-wrap:anywhere}.stats-page-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;min-width:0;display:grid}.stats-page-actions .btn{max-width:100%}.stats-period-select{min-width:0;max-width:none;width:100%!important}.stats-page .stock-kpi-row.stats-kpi-row,.leave-page .stock-kpi-row.stats-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.stats-page .stock-kpi.primary,.leave-page .stock-kpi.primary{grid-column:auto}.stats-page .stock-kpi,.leave-page .stock-kpi{min-width:0;min-height:0;padding:10px}.stats-page .stock-kpi .val,.leave-page .stock-kpi .val{white-space:normal;overflow-wrap:anywhere;font-size:1.1rem}.stats-page .stock-kpi .lbl,.leave-page .stock-kpi .lbl{font-size:10px}.stats-page .stock-kpi .meta,.leave-page .stock-kpi .meta{overflow-wrap:anywhere;white-space:normal;font-size:10px}.content-panel.leave-page{min-width:0;max-width:100%;overflow-x:hidden}.page-content.page-content-mockup:has(.leave-page){min-width:0;max-width:100%;padding-bottom:calc(24px + var(--mobile-nav-height));flex:auto;overflow:hidden auto}.page-content:has(.leave-page){min-width:0;max-width:100%;padding-bottom:calc(24px + var(--mobile-nav-height));flex:auto;overflow:hidden auto}.stats-page .stats-grid-2{grid-template-columns:1fr;gap:10px;margin-bottom:12px;display:grid}.stats-page .stats-grid-2>.card{width:100%;min-width:0;max-width:100%}.stats-page .stats-grid-2 .card-header{padding:10px 12px}.stats-page .stats-grid-2 .card-title{font-size:13px}.stats-page .stats-grid-2 .card-body{-webkit-overflow-scrolling:touch;max-width:100%;padding:10px 12px;overflow-x:auto}.stats-page .stats-grid-2 .data-table{width:100%;min-width:0}.stats-page .data-table th:first-child,.stats-page .data-table td:first-child{z-index:2;background:var(--card,#fff);position:sticky;left:0;box-shadow:4px 0 8px -6px #0f172a59}.stats-page .data-table thead th:first-child{z-index:3}.stats-page .top-product-row{flex-wrap:wrap;align-items:flex-start;gap:8px 10px;min-width:0;max-width:100%}.stats-page .top-product-row>div:nth-child(3){flex:140px;min-width:0}.stats-page .top-product-row>div:nth-child(3)>div:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stats-page .top-product-row .mini-bar{flex:100%;order:5;max-width:none}.stats-page .top-product-row>strong{flex:none;margin-left:auto}@media (width>=560px){.stats-page .stats-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.supplier-row{flex-direction:column;align-items:stretch;gap:6px;display:flex}.supplier-row .supplier-track{width:100%}.supplier-row>div:last-child{justify-content:space-between;align-items:baseline;display:flex;text-align:left!important}.stats-page .bar-chart{gap:6px;min-width:0;max-width:100%;height:150px}.stats-page .bar-chart-col{min-width:0}.stats-page .bar-chart-label{text-overflow:ellipsis;max-width:100%;font-size:10px;overflow:hidden}.stats-page .bar-chart-val{font-size:9px}}.bar-chart{align-items:flex-end;gap:12px;height:180px;padding-top:24px;display:flex}.bar-chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.bar-chart-bar{background:#bfdbfe;border-radius:8px 8px 4px 4px;width:100%;min-height:8px;position:relative}.bar-chart-bar.active{background:var(--primary)}.bar-chart-val{color:var(--primary);white-space:nowrap;font-size:11px;font-weight:700;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.bar-chart-label{color:var(--text-muted);font-size:11px;font-weight:600}.supplier-row{font-size:var(--text-sm);grid-template-columns:110px 1fr 70px;align-items:center;gap:12px;margin-bottom:14px;display:grid}.supplier-track{background:#f1f5f9;border-radius:999px;height:10px;overflow:hidden}.supplier-fill{border-radius:999px;height:100%}.top-product-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.top-product-row:last-child{border-bottom:none}.rank-badge{background:var(--primary-light);width:24px;height:24px;color:var(--primary);border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.mini-bar{background:#e2e8f0;border-radius:999px;flex:1;max-width:120px;height:6px;overflow:hidden}.mini-bar>span{background:var(--primary);border-radius:999px;height:100%;display:block}.scan-mode-switch{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:100%;padding:0 16px 12px;display:grid}.scan-mode-btn{text-align:center;color:#94a3b8;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-width:0;padding:10px 8px;font-size:11px;font-weight:600;line-height:1.2;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:flex}.scan-mode-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scan-mode-btn:hover{color:#e2e8f0;border-color:#ffb00059}.scan-mode-btn.active{border-color:var(--accent);color:#fff;background:#ffb00024}.scanner-page .scan-mode-switch{flex-shrink:0;width:100%;max-width:480px;margin:0 auto;padding:0 16px 8px}.preview-layout.is-app .page-content.page-content-mockup:has(.scanner-page){padding:0}.page-content.page-content-mockup:has(.scanner-page){padding:0}@media (width<=1024px){.app-shell:has(.scanner-page){height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.main-wrap:has(.scanner-page){--scanner-nav-clearance:calc(var(--mobile-nav-height) + 24px);height:calc(100dvh - var(--scanner-nav-clearance));max-height:calc(100dvh - var(--scanner-nav-clearance));min-height:0;overflow:hidden}.preview-layout.is-app .main-wrap:has(.scanner-page){--scanner-nav-clearance:calc(var(--mobile-nav-height) + 24px);height:calc(100dvh - var(--scanner-nav-clearance));max-height:calc(100dvh - var(--scanner-nav-clearance));min-height:0;overflow:hidden}.page-content.page-content-mockup:has(.scanner-page){flex:auto;min-height:0;max-height:100%;padding:0;overflow:hidden}.preview-layout.is-app .page-content.page-content-mockup:has(.scanner-page){flex:auto;min-height:0;max-height:100%;padding:0;overflow:hidden}.app-shell .scanner-page{flex:auto;height:100%;min-height:0;max-height:100%}:is(html:has(.scanner-page),body:has(.scanner-page)){overscroll-behavior:none;height:100%;overflow:hidden}.scanner-page .scanner-header{padding:6px 12px}.scanner-page .scan-mode-switch{max-width:none;padding:0 12px 6px}.scanner-page .scan-mode-btn{padding:8px 6px;font-size:10px}.scanner-page .scanner-status{width:min(94%,360px);top:8px}.scanner-page .scanner-supplier{margin-bottom:6px;padding:6px 12px;font-size:12px}.scanner-page .scanner-controls{gap:28px;padding:8px 16px 10px}.scanner-page .capture-btn{width:64px;height:64px}.scanner-page .scanner-ctrl-btn{width:44px;height:44px}}@media (width<=1024px) and (height<=700px){.scanner-page .scanner-header{padding:4px 10px}.scanner-page .scanner-header>div>div:first-child{font-size:14px!important}.scanner-page .scanner-header>div>div:last-child{display:none}.scanner-page .scan-mode-switch{padding:0 10px 4px}.scanner-page .scanner-controls{gap:20px;padding:4px 12px 6px}.scanner-page .capture-btn{width:56px;height:56px}}@media (width<=1024px){.app-shell:has(.messaging-layout.mobile-chat){height:calc(100dvh - var(--mobile-nav-height));max-height:calc(100dvh - var(--mobile-nav-height));min-height:0;overflow:hidden}.preview-layout.no-preview-nav.is-app .app-shell:has(.messaging-layout.mobile-chat){height:calc(100dvh - var(--mobile-nav-height));max-height:calc(100dvh - var(--mobile-nav-height));min-height:0;overflow:hidden}.main-wrap:has(.messaging-layout.mobile-chat){height:calc(100dvh - var(--mobile-nav-height));max-height:calc(100dvh - var(--mobile-nav-height));flex-direction:column;min-height:0;display:flex;overflow:hidden}.preview-layout.is-app .main-wrap:has(.messaging-layout.mobile-chat){height:calc(100dvh - var(--mobile-nav-height));max-height:calc(100dvh - var(--mobile-nav-height));flex-direction:column;min-height:0;display:flex;overflow:hidden}.page-content.page-content-mockup:has(.messaging-layout.mobile-chat){flex-direction:column;flex:auto;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.preview-layout.is-app .page-content.page-content-mockup:has(.messaging-layout.mobile-chat){flex-direction:column;flex:auto;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.page-content:has(.messaging-layout.mobile-chat){flex-direction:column;flex:auto;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.messaging-layout.mobile-chat{flex:auto;height:100%;min-height:0;max-height:100%;overflow:hidden}.messaging-layout.mobile-chat .msg-main{flex-direction:column;flex:auto;min-height:0;max-height:100%;display:flex;overflow:hidden}.messaging-layout.mobile-chat .msg-thread{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.messaging-layout.mobile-chat .msg-compose{flex-shrink:0}:is(html:has(.messaging-layout.mobile-chat),body:has(.messaging-layout.mobile-chat)){overscroll-behavior:none;height:100%;overflow:hidden}}.scan-stage{gap:var(--space-8);min-height:calc(100vh - 64px);padding:var(--space-6);background:#0b0d12;flex:1;grid-template-columns:1fr 280px;place-items:center;display:grid}.scan-stage-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:#ffffff73;grid-column:1/-1;font-size:11px;font-weight:600}.phone-frame{width:min(360px,100%);max-width:100%;box-shadow:var(--shadow-lg);color:#fff;background:#111827;border:3px solid #1f2937;border-radius:36px;overflow:hidden}.phone-frame .scan-mode-switch{padding:0 12px 12px}.phone-status{justify-content:space-between;padding:10px 20px 4px;font-size:12px;font-weight:600;display:flex}.phone-header{justify-content:space-between;align-items:center;gap:8px;padding:8px 16px 12px;display:flex}.phone-header-titles{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.phone-header h2{margin:0;font-size:15px;font-weight:700}.phone-header .scan-active-practice{justify-content:center}.phone-viewport{background:#000;border-radius:16px;height:280px;margin:0 16px;position:relative;overflow:hidden}.scan-brackets{position:absolute;inset:48px 40px}.scan-brackets span{border-color:var(--accent);border-style:solid;width:28px;height:28px;position:absolute}.scan-brackets .tl{border-width:3px 0 0 3px;top:0;left:0}.scan-brackets .tr{border-width:3px 3px 0 0;top:0;right:0}.scan-brackets .bl{border-width:0 0 3px 3px;bottom:0;left:0}.scan-brackets .br{border-width:0 3px 3px 0;bottom:0;right:0}.scan-laser{background:var(--accent);height:2px;box-shadow:0 0 12px var(--accent);animation:2s ease-in-out infinite scanMove;position:absolute;top:50%;left:44px;right:44px}.phone-hint{color:#94a3b8;text-align:center;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:13px;display:flex}.phone-capture-row{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding:0 16px 12px;display:flex}.phone-capture-caption{color:#94a3b8;text-align:center;font-size:11px;font-weight:600}.phone-capture-row .capture-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.scan-label-candidate{color:#f8fafc;text-align:left;cursor:pointer;background:#0f172aeb;border:1px solid #ffffff38;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px 14px;display:flex}.scan-label-candidate:hover,.scan-label-candidate:focus-visible{background:#1e293bfa;border-color:#ffb000a6;outline:none}.scan-label-candidate-name{color:#f8fafc;word-break:break-word;width:100%;font-size:14px;font-weight:700;line-height:1.35;display:block}.scan-label-candidate-meta{color:#94a3b8;width:100%;font-size:11px;font-weight:600;display:block}.scan-label-candidate-create{background:#ffb00014;border-style:dashed;border-color:#ffb0008c}.scan-label-candidate-create .scan-label-candidate-name{color:#ffb000}.phone-actions{flex-direction:column;gap:10px;padding:0 16px 16px;display:flex}.phone-bottom-nav{background:#0b1220;border-top:1px solid #ffffff14;grid-template-columns:1fr 1fr 1fr;align-items:end;padding:8px 12px 16px;display:grid}.phone-bottom-nav a{color:#94a3b8;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.phone-bottom-nav .scan-fab{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-top:-22px;display:flex;box-shadow:0 0 0 6px #171ce840}.scan-flow{color:#fff;width:100%}.scan-flow h3{margin-bottom:var(--space-4);font-size:14px;font-weight:700}.scan-step{color:#ffffffbf;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:10px;padding:14px 16px;font-size:13px;font-weight:600}.scan-step.active{border-color:var(--primary);color:#fff;background:#171ce859}.scan-flow-hint{color:#fff6;margin-top:var(--space-3);font-size:12px}.scan-camera-video{object-fit:cover;object-position:center center;width:100%;height:100%;position:absolute;inset:0}@media (width<=1024px){.page-content-mockup:has(.scan-stage){padding:0;padding-bottom:var(--mobile-nav-height)}.app-shell .scan-stage{min-height:calc(100dvh - var(--mobile-header-offset) - var(--mobile-nav-height));width:100%}.scan-stage{grid-template-columns:unset;min-height:calc(100dvh - var(--mobile-header-offset) - var(--mobile-nav-height));background:#0b1220;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:0;display:flex}.scan-stage-label,.scan-flow{display:none}.phone-frame{width:100%;max-width:none;min-height:0;box-shadow:none;background:#0b1220;border:none;border-radius:0;flex-direction:column;flex:1;display:flex}.phone-status{display:none}.phone-header{flex-shrink:0;padding:10px 16px 8px}.phone-frame .scan-mode-switch{flex-shrink:0;padding:0 16px 10px}.phone-viewport{border-radius:0;flex:1;justify-content:center;align-items:center;height:auto;min-height:240px;margin:0;display:flex;overflow:hidden}.scan-brackets{inset:24px 20px}.scan-laser{left:24px;right:24px}.phone-hint{flex-shrink:0;padding:12px 16px}.phone-capture-row{flex-shrink:0;padding:0 16px 10px}.phone-actions{flex-shrink:0;padding:0 16px 12px}.phone-bottom-nav{display:none}}@media (width<=1100px) and (width>=1025px){.stock-kpi-row,.stats-page .stats-kpi-row{grid-template-columns:repeat(2,1fr)}.pd-layout,.np-layout{grid-template-columns:1fr}.stats-page .stats-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-stage{grid-template-columns:1fr}.scan-flow{max-width:360px}.stock-scan-actions{grid-template-columns:1fr}}@media (width<=700px) and (width>=1025px){.stock-kpi-row,.stats-page .stats-kpi-row{grid-template-columns:repeat(2,1fr)}.np-grid-2{grid-template-columns:1fr}.stock-filter-select{flex:100%;width:100%;min-width:0;max-width:none}}.plan-page,.plan-page .page-header-text h1{color:var(--text)}.plan-page .text-muted{color:var(--text-secondary)}.plan-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.plan-empty{flex-direction:column;align-items:flex-start;gap:12px;padding:8px 0 16px;display:flex}.plan-add-mode{flex-wrap:wrap;gap:8px;display:flex}.plan-grid-actions-col,.plan-member-actions{white-space:nowrap;vertical-align:middle;width:1%}.plan-member-actions .btn{align-items:center;gap:6px;display:inline-flex}.plan-recurring-body{gap:12px;display:grid}.plan-recurring-hint{margin:0}.plan-recurring-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.plan-recurring-steps-2{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-recurring-field-hint{margin:4px 0 0;line-height:1.35}.plan-recurring-day-label{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-recurring-planned-days{max-height:160px;margin:8px 0 0;padding-left:1.1rem;font-size:12px;line-height:1.45;overflow:auto}.plan-recurring-step{border:1px solid var(--border);min-height:40px;color:var(--text-muted);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.plan-recurring-step.is-active{border-color:var(--primary);background:var(--primary-muted,#eef2ff);color:var(--text)}.plan-recurring-step.is-done{color:var(--text);background:#f0fdf4;border-color:#bbf7d0}.plan-recurring-step-num{color:#111827;background:#e5e7eb;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:inline-flex}.plan-recurring-step.is-active .plan-recurring-step-num{background:var(--primary);color:#fff}.plan-recurring-step.is-done .plan-recurring-step-num{color:#fff;background:#16a34a}.plan-recurring-dates{grid-template-columns:1fr 1fr;gap:12px;display:grid}.plan-recurring-pattern{border:1px solid var(--border);border-radius:10px;gap:8px;margin:0;padding:12px;display:grid}.plan-recurring-day-row{font-size:var(--text-sm);grid-template-columns:64px 1fr;align-items:center;gap:10px;font-weight:600;display:grid}.plan-recurring-preview{border:1px solid var(--border);background:#f8fafc;border-radius:10px;gap:8px;padding:12px;display:grid}.plan-recurring-preview-title{font-size:var(--text-sm);margin:0;font-weight:700}.plan-recurring-conflict-box{background:#fff1f2;border:1px solid #fecaca;border-radius:8px;gap:8px;padding:10px;display:grid}.plan-recurring-conflicts{color:var(--text-secondary);gap:4px;max-height:160px;margin:0;padding-left:1.1rem;font-size:12px;display:grid;overflow:auto}.plan-recurring-ok{color:#15803d;font-weight:600}.plan-recurring-footer{flex-wrap:wrap}@media (width<=640px){.plan-recurring-steps,.plan-recurring-dates,.plan-recurring-day-row{grid-template-columns:1fr}}.plan-week-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.plan-week-nav-btn{align-items:center;gap:6px;display:inline-flex}.plan-week-label{font-weight:600;font-size:var(--text-sm);text-align:center;min-width:160px;color:var(--text);flex:1}@media (width<=768px){.plan-week-nav{flex-wrap:nowrap;gap:8px}.plan-week-nav-text{display:none}.plan-week-nav-btn{flex-shrink:0;justify-content:center;min-width:40px;padding-inline:10px}.plan-week-label{min-width:0;font-size:13px}}.plan-grid-wrap{border:1px solid var(--border);isolation:isolate;background:#fff;border-radius:12px;overflow:auto}.plan-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:640px;color:var(--text);background:#fff}.plan-grid th,.plan-grid td{border-bottom:1px solid var(--border);text-align:center;vertical-align:middle;color:var(--text);background:#fff;padding:8px}.plan-grid tbody tr:last-child th,.plan-grid tbody tr:last-child td{border-bottom:none}.plan-grid thead th{color:var(--text);background:#f8fafc;font-weight:700}.plan-grid-member-col,.plan-member{z-index:2;min-width:168px;max-width:200px;color:var(--text);background:#fff;position:sticky;left:0;box-shadow:8px 0 10px -8px #0f172a47;text-align:left!important}.plan-grid thead .plan-grid-member-col{z-index:3;background:#f8fafc}.plan-member{font-weight:600;font-size:var(--text-sm)}.plan-member-inner{align-items:center;gap:10px;min-width:0;display:flex}.plan-member-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-avatar{background:var(--primary-light);width:32px;height:32px;color:var(--primary);flex-shrink:0;font-size:11px}.plan-day-head{min-width:88px}.plan-day-head--today{z-index:0;position:relative;background:0 0!important}.plan-day-head--today:before{content:"";z-index:-1;pointer-events:none;background:#e8e9fd;border-radius:10px;position:absolute;inset:4px}.plan-day-head--today>*{z-index:1;position:relative}.plan-day-name{letter-spacing:.04em;color:var(--text-secondary);font-size:11px;display:block}.plan-day-num{color:var(--text);font-size:16px;font-weight:700;display:block}.plan-today-dot{background:var(--primary);color:#fff;border-radius:999px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.plan-td--today{z-index:0;position:relative;background:0 0!important}.plan-td--today:before{content:"";z-index:0;pointer-events:none;background:#f5f6fe;border-radius:12px;position:absolute;inset:4px}.plan-td--today>.plan-cell{z-index:1;position:relative}.plan-cell{cursor:default;width:100%;min-height:56px;font:inherit;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;display:flex}button.plan-cell:not(:disabled){cursor:pointer}button.plan-cell:not(:disabled):hover{outline:2px solid color-mix(in srgb, var(--primary) 35%, transparent)}.plan-cell:disabled{opacity:1}.plan-cell-symbol{font-size:14px;font-weight:700;line-height:1.2}.plan-cell-label{color:inherit;opacity:1;font-size:10px;font-weight:600}.plan-cell--present{color:#1e3a8a;background:#dbeafe}.plan-cell--am{color:#166534;background:#dcfce7}.plan-cell--pm{color:#0f766e;background:#ccfbf1}.plan-cell--leave{color:#854d0e;background:#fef9c3}.plan-cell--rest{color:#374151;background:#e5e7eb}.plan-cell--sick{color:#9f1239;background:#ffe4e6}.plan-status-picker{gap:8px;display:grid}.plan-status-option{min-height:44px;flex-direction:row!important;justify-content:flex-start!important;gap:10px!important;padding:10px 12px!important}.plan-status-option.is-selected{outline:2px solid var(--primary)}.plan-readonly-hint{margin-top:12px}.plan-error{border:1px solid var(--danger,#ff4d4d);color:var(--text);background:#fff5f5;border-radius:12px;margin-bottom:16px;padding:16px}.plan-mobile-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:none}.plan-mobile-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px}.plan-mobile-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.plan-mobile-menu{flex-shrink:0;position:relative}.plan-mobile-menu .dropdown-menu{min-width:160px;left:auto;right:0}.plan-mobile-badges{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;display:grid;overflow-x:visible}.plan-mobile-badge.plan-cell{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;width:100%;min-width:0;height:auto;min-height:0;padding:5px 2px;display:flex}.plan-mobile-badge.plan-cell:disabled{cursor:default;opacity:.85}.plan-mobile-badge.is-today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.plan-mobile-badge-day{flex-direction:column;align-items:center;line-height:1.1;display:flex}.plan-mobile-badge-weekday{letter-spacing:.03em;text-transform:uppercase;opacity:.85;font-size:9px;font-weight:700}.plan-mobile-badge-num{font-size:13px;font-weight:700}.plan-mobile-badge-status{text-align:center;justify-content:center;align-items:center;gap:0;max-height:1.2em;font-size:11px;font-weight:700;line-height:1.1;display:flex;overflow:hidden}.plan-mobile-badge-status-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){.plan-grid-wrap--desktop{display:none}.plan-mobile-list{display:flex}}@media (width>=769px){.plan-mobile-list{display:none!important}}.meetings-page{color:var(--text)}.meeting-section{margin-top:28px}.meeting-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:12px;font-size:13px}.meeting-list{flex-direction:column;gap:12px;display:flex}.meeting-card{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.meeting-card-main{text-align:left;width:100%;color:var(--text);padding:16px 18px;display:block}.meeting-card-main:hover{background:#f8fafc}.meeting-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.meeting-card-title{color:var(--text);font-size:16px;font-weight:700}.meeting-relative{color:var(--primary);white-space:nowrap;font-size:12px;font-weight:600}.meeting-meta{color:var(--text-secondary);flex-wrap:wrap;gap:10px 16px;font-size:13px;display:flex}.meeting-meta span{align-items:center;gap:6px;display:inline-flex}.meeting-archived-badge{color:#15803d;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:700;display:inline-flex}.meeting-join-row{flex-wrap:wrap;align-items:center;gap:10px;padding:0 18px 14px;display:flex}.meeting-join-row .btn{align-items:center;gap:6px;display:inline-flex}.meeting-card-body{border-top:1px solid var(--border);background:#fbfcfd;padding:16px 18px 18px}.meeting-block{margin-bottom:16px}.meeting-block h4{color:var(--text);margin-bottom:8px;font-size:13px}.meeting-participants{flex-wrap:wrap;gap:8px;display:flex}.meeting-chip{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:12px;font-weight:600;display:inline-flex}.meeting-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.meeting-files{flex-direction:column;gap:8px;margin-bottom:10px;list-style:none;display:flex}.meeting-files li{align-items:center;gap:8px;font-size:13px;display:flex}.meeting-files a{color:var(--primary);font-weight:600;text-decoration:underline}.meeting-attach-btn{cursor:pointer;margin-top:0}.meeting-minutes-view{white-space:pre-wrap;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:10px;padding:12px}.meeting-time-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.meeting-participant-picker{border:1px solid var(--border);background:#fff;border-radius:10px;gap:8px;max-height:180px;padding:10px;display:grid;overflow:auto}.meeting-check{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}@media (width<=700px){.meeting-time-row{grid-template-columns:1fr}}.settings-back-btn,.page-back-btn{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0 0 12px;padding:6px 0;font-size:14px;font-weight:700;display:inline-flex}.settings-back-btn:hover,.page-back-btn:hover{color:var(--primary-hover)}.settings-page .page-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);align-items:flex-start}.settings-add-practice-btn{width:100%;max-width:none;height:auto;min-height:44px;margin:0 0 var(--space-5);white-space:normal;text-align:center;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:700;line-height:1.35;display:inline-flex;box-shadow:0 1px 2px #171ce84d;background:var(--primary)!important;color:#fff!important;border:1px solid var(--primary)!important}.settings-add-practice-btn:hover{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:#fff!important}.settings-page .form-row{gap:var(--space-4) var(--space-5);margin-bottom:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.settings-page .form-row>.form-group{min-width:0;margin-bottom:0}.settings-page .form-group{margin-bottom:var(--space-5)}.settings-page .settings-panel .card-body{flex-direction:column;gap:0;display:flex}.settings-page .settings-panel .settings-form-actions,.settings-page .settings-panel .form-actions{margin-top:var(--space-2);justify-content:flex-end;display:flex}.settings-layout{gap:var(--space-5);grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start;display:grid}.settings-nav{gap:6px;display:grid}.settings-nav-item{width:100%;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;transition:background var(--duration) var(--ease), color var(--duration) var(--ease), border-color var(--duration) var(--ease);background:0 0;border:0;border-left:3px solid #0000;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.settings-nav-item:hover{background:var(--bg);color:var(--text)}.settings-nav-item.active{background:var(--primary-light);color:var(--primary);border-left-color:var(--primary)}.settings-nav-icon{width:34px;height:34px;color:inherit;background:#0f172a0a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-nav-item.active .settings-nav-icon{background:#171ce81f}.settings-nav-copy{gap:2px;min-width:0;display:grid}.settings-nav-label{font-size:14px;font-weight:700;line-height:1.25}.settings-nav-hint{color:var(--text-muted);font-size:12px;font-weight:500;line-height:1.3}.settings-nav-item.active .settings-nav-hint{color:color-mix(in srgb, var(--primary) 70%, #64748b)}.settings-panel-head{margin-bottom:var(--space-5)}.settings-panel-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.members-head-actions{flex-shrink:0;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;min-width:min(100%,440px);display:grid}.members-partner-btn,.members-invite-btn{box-sizing:border-box;white-space:normal;text-align:left;border-radius:999px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:100%;height:100%;min-height:52px;padding:10px 14px;line-height:1.2;display:inline-flex}.members-partner-btn{color:#fff;background:#0f172a;border-color:#0f172a}.members-partner-btn:hover{color:#fff;background:#1e293b}.members-partner-btn .members-partner-plus{color:#eab308}.members-action-title{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.members-partner-caption,.members-action-caption{opacity:.85;font-size:11px;font-weight:500;line-height:1.2}.members-action-caption.is-spacer{visibility:hidden;-webkit-user-select:none;user-select:none}.members-invite-btn{justify-content:center}.members-partner-box{border:1px solid var(--border);background:#0f172a0a;border-radius:8px;padding:10px 12px;font-size:13px}.modal.modal-partner{width:min(600px,100vw - 2rem);max-width:600px;height:auto;max-height:90vh}@media (width<=640px){.modal.modal-partner{width:100%;max-width:100%}}.modal-partner .modal-body{gap:14px;display:grid;overflow-y:auto}.modal-partner .form-row{margin-bottom:0}.modal-partner .form-group{gap:6px;margin-bottom:0;display:grid}.modal-partner .form-field-hint{margin:0}.partner-type-seg{border:1px solid var(--border);background:#fff;border-radius:999px;grid-template-columns:1fr 1fr;gap:0;padding:3px;display:grid}.partner-type-seg button{appearance:none;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600;line-height:1.2}.partner-type-seg button.active{color:#fff;background:#0f172a}.partner-type-seg button:disabled{opacity:.6;cursor:default}.partner-practitioners{border:1px solid var(--border);background:#fff;border-radius:12px;max-height:220px;overflow:hidden auto}.partner-practitioner-row{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px;display:flex}.partner-practitioner-row:last-child{border-bottom:0}.partner-practitioner-row input{width:18px;height:18px;accent-color:var(--primary,#2563eb);flex-shrink:0;margin:0}.partner-practitioner-meta{flex:1;gap:2px;min-width:0;display:grid}.partner-practitioner-name{font-size:14px;font-weight:700;line-height:1.25}.partner-practitioner-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.partner-avatar{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:inline-flex}.partner-avatar.tone-0{background:#ea580c}.partner-avatar.tone-1{background:#2563eb}.partner-avatar.tone-2{background:#16a34a}.partner-avatar.tone-3{background:#9333ea}.partner-avatar.tone-4{background:#db2777}.partner-role-access{border:1px solid var(--border);background:#f8fafc;border-radius:14px;gap:12px;padding:14px 16px;display:grid}.partner-role-access-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.partner-role-access-head h3{margin:0;font-size:15px;font-weight:700}.partner-role-badge{color:#1d4ed8;background:#e0e7ff;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.partner-role-access-hint{margin:0}.partner-access-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.partner-access-card{border:1px solid var(--border);background:#fff;border-radius:10px;gap:6px;min-width:0;padding:10px 12px;display:grid}.partner-access-card-title{align-items:flex-start;gap:8px;font-size:13px;font-weight:700;line-height:1.3;display:flex}.partner-access-card-title input{width:16px;height:16px;accent-color:var(--primary,#2563eb);flex-shrink:0;margin-top:2px}.partner-access-card-title .all{color:var(--text-muted);font-weight:500}.partner-access-card-body{color:var(--text-muted);margin:0;padding-left:24px;font-size:12px;line-height:1.35}.partner-access-extras{border:1px solid var(--border);background:#fff;border-radius:10px;gap:8px;padding:10px 12px;display:grid}.partner-access-extra{cursor:default;align-items:flex-start;gap:10px;font-size:13px;line-height:1.35;display:flex}.partner-access-extra input{width:16px;height:16px;accent-color:var(--primary,#2563eb);flex-shrink:0;margin-top:2px}@media (width<=560px){.partner-access-cards{grid-template-columns:1fr}}.settings-panel-actions{flex-shrink:0}.settings-embedded-profile .profile-layout{margin-top:0}.settings-embedded-profile .profile-help-banner{margin-top:var(--space-4)}.settings-panel-title{margin:0;font-size:1.05rem;font-weight:800}.settings-panel-sub{margin:6px 0 0;font-size:13px}.settings-form-actions{margin-top:var(--space-4);justify-content:flex-end;display:flex}.settings-inline-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.settings-join-list,.settings-member-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.settings-join-list li,.settings-member-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.settings-join-list li:last-child,.settings-member-list li:last-child{border-bottom:0}.members-access-panel .members-table-wrap{margin-top:4px;overflow-x:auto}.members-table{border-collapse:collapse;width:100%;font-size:13px}.members-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px 10px 0;font-size:11px;font-weight:700}.members-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 12px 14px 0}.members-table tbody tr:last-child td{border-bottom:0}.members-row-pending td{color:var(--text-muted)}.members-person{align-items:center;gap:10px;min-width:180px;display:flex}.members-avatar{background:var(--primary-light);width:36px;height:36px;color:var(--primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.members-avatar.pending{color:var(--text-muted);background:#0f172a0f}.members-name{color:var(--text);font-weight:700;line-height:1.25;display:block}.members-subtitle{color:var(--text-muted);font-size:12px;line-height:1.25;display:block}.members-email{color:var(--text-secondary);white-space:nowrap}.members-status{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.members-status.admin{color:var(--primary);background:#171ce81a}.members-status.collaborator,.members-status.active{color:#007a57;background:#00a6741f}.members-role-select-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.members-role-select-row .form-select{flex:200px;min-width:0}.members-role-delete-btn{color:#dc2626;border-color:#dc262659;flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.members-status.pending{color:var(--text-muted);background:#64748b1f}.members-status.disabled{color:#b91c1c;background:#dc26261a}.members-access-box{border:1px solid var(--border);color:#0000;background:#0f172a0a;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.members-access-box.enabled{color:#fff;background:#16a34a;border-color:#16a34a}.member-access-fields{border:1px solid var(--border);border-radius:12px;min-width:0;margin:4px 0 0;padding:14px 16px 12px}.member-access-legend{padding:0 4px;font-size:14px;font-weight:700}.member-access-hint{margin:0 0 12px}.member-access-columns{grid-template-columns:1fr 1fr;align-items:start;gap:16px 24px;display:grid}.member-access-section{min-width:0;margin-bottom:0}.member-access-section.settings{border-top:1px solid var(--border);grid-column:1/-1;margin-top:4px;padding-top:12px}.member-access-section-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.member-access-section-toggle>span:first-of-type{min-width:0}.member-access-switch{flex-shrink:0;width:40px;height:22px;position:relative}.member-access-switch input{opacity:0;width:0;height:0;position:absolute}.member-access-switch-ui{pointer-events:none;background:#d1d5db;border-radius:999px;width:40px;height:22px;transition:background .15s;display:block}.member-access-switch-ui:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.member-access-switch input:checked+.member-access-switch-ui{background:var(--primary,#2563eb)}.member-access-switch input:checked+.member-access-switch-ui:after{transform:translate(18px)}.member-access-switch input:disabled+.member-access-switch-ui{opacity:.55}.member-access-checks{grid-template-columns:1fr;gap:6px;margin:0;display:grid}.member-access-check{cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;display:flex}.member-access-check-note{color:var(--text-muted);font-size:12px;font-weight:400}.member-access-settings-hint{margin:4px 0 0;padding-left:0}.member-access-footnote{color:var(--text-muted);align-items:flex-start;gap:6px;margin:12px 0 0;font-size:12px;display:flex}.member-access-footnote-icon{flex-shrink:0;line-height:1.4}.modal-member .modal-body{gap:14px;display:grid;overflow-y:auto}.modal-member .form-row{margin-bottom:0}.modal-member .form-group{gap:6px;margin-bottom:0;display:grid}.modal-member .form-field-hint{margin:0}@media (width<=560px){.member-access-columns{grid-template-columns:1fr}.member-access-section.settings{margin-top:0}}.members-table th.members-col-actions,.members-table td.members-col-actions{text-align:left;white-space:nowrap;width:1%;padding-right:4px}.members-actions{white-space:nowrap;vertical-align:middle;justify-content:flex-start;align-items:center;gap:8px;display:inline-flex}.members-owner{height:36px;color:var(--text-muted);align-items:center;font-size:12px;font-weight:600;display:inline-flex}.members-action-btn{box-sizing:border-box;border:1px solid var(--border);background:var(--card,#fff);height:36px;min-height:36px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.members-action-btn svg{flex-shrink:0;display:block}.members-action-btn:hover:not(:disabled){background:var(--bg);border-color:var(--border-strong,#cbd5e1)}.members-action-btn:disabled{opacity:.5;cursor:not-allowed}.members-action-edit{min-width:76px}.members-action-remove{color:#dc2626;border-color:#fecaca;width:36px;min-width:36px;padding:0}.members-action-remove:hover:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.members-remove{color:#dc2626}.members-legend{color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:16px;font-size:12px;display:flex}.members-legend span{align-items:center;gap:8px;display:inline-flex}.members-footnote{margin:10px 0 0;font-style:italic}.members-edit-access{color:var(--text-secondary);grid-template-columns:auto auto auto auto;align-items:center;gap:10px 12px;margin-top:4px;font-size:13px;display:grid}@media (width<=900px){.settings-layout{grid-template-columns:1fr}.settings-nav{grid-template-columns:1fr 1fr}}@media (width<=560px){.settings-nav{grid-template-columns:1fr}}.settings-mobile-nav{display:none}@media (width<=1024px){.app-shell:has(.settings-page) .mobile-nav{display:none}.app-shell:has(.settings-page) .top-header-mobile-only{display:none}.settings-page{box-shadow:none;min-height:0;padding:12px max(16px, env(safe-area-inset-right,0px)) calc(24px + var(--mobile-nav-height)) max(16px, env(safe-area-inset-left,0px));background:#fff;border-radius:0;max-width:100%;overflow-x:hidden}.settings-page .page-header.settings-page-header{border-bottom:0;margin-bottom:16px;padding-bottom:0}.settings-page-header h1{letter-spacing:-.03em;margin-bottom:4px;font-size:1.625rem;font-weight:800}.settings-page-subtitle{color:var(--text-muted);font-size:14px;line-height:1.45}.settings-layout{grid-template-columns:1fr;gap:16px}.settings-nav{grid-template-columns:1fr;gap:4px}.settings-nav-item{border-left:0;border-radius:14px;align-items:center;gap:12px;min-height:60px;padding:12px 14px}.settings-nav-item.active{color:#4f46e5;background:#eef2ff;border-left-color:#0000}.settings-nav-item.active .settings-nav-icon{color:#4f46e5;background:#4f46e51f}.settings-nav-item.active .settings-nav-hint{color:#818cf8}.settings-nav-icon{color:#64748b;background:#f1f5f9;border-radius:12px;width:40px;height:40px}.settings-nav-chevron{color:#cbd5e1;flex-shrink:0;margin-left:auto}.settings-nav-item.active .settings-nav-chevron{color:#a5b4fc}.settings-main .settings-panel,.settings-main .members-access-panel{box-shadow:none;border:1px solid #e8edf5;border-radius:16px}.settings-main .card-body{padding:16px}.settings-panel-title{font-size:1.05rem;font-weight:800}.settings-panel-sub{font-size:13px;line-height:1.45}.members-mobile-list{border-top:1px solid #eef1f6;max-width:100%;margin-top:8px;display:block;overflow-x:hidden}.members-mobile-head,.members-mobile-row{grid-template-columns:36px minmax(0,1.15fr) minmax(0,1fr) 28px;align-items:center;gap:8px;min-width:0;display:grid}.members-mobile-head{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:10px 0 8px;font-size:10px;font-weight:700}.members-mobile-row{border-bottom:1px solid #eef1f6;padding:12px 0}.members-mobile-row:last-child{border-bottom:0}.members-mobile-person{min-width:0}.members-mobile-person .members-name{overflow-wrap:anywhere;font-size:13px}.members-mobile-person .members-subtitle{font-size:11px}.members-mobile-email{color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:11px;line-height:1.35}.members-kebab{color:#94a3b8}.members-row-menu{justify-self:end;position:relative}.members-row-menu-popover{z-index:20;background:#fff;border:1px solid #e8edf5;border-radius:12px;gap:2px;min-width:160px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0f172a1f}.members-row-menu-item{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.members-row-menu-item:hover{background:#f8fafc}.members-row-menu-item.danger{color:#dc2626}.members-row-menu-note{color:var(--text-muted);padding:10px 12px;font-size:12px;font-weight:600;display:block}.members-resend-btn{justify-self:end;padding:6px 8px;font-size:11px}.members-desktop-table{display:none!important}.members-access-panel .settings-panel-head-row .members-head-actions{grid-template-columns:1fr;width:100%;min-width:0;display:grid}.members-access-panel .settings-panel-head-row .members-invite-btn,.members-access-panel .settings-panel-head-row .members-partner-btn{width:100%;display:inline-flex}.members-legend{gap:12px;margin-top:14px}.members-footnote{font-size:12px;line-height:1.45}.settings-mobile-nav{height:var(--mobile-nav-height);padding:0 max(8px, env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px, env(safe-area-inset-left,0px));z-index:calc(var(--z-sticky) + 1);background:#fff;border-top:1px solid #e8edf5;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #0f172a0f}.settings-mobile-nav-item{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:4px 2px;font-size:10px;font-weight:600;display:flex}.settings-mobile-nav-icon{width:32px;height:28px;color:inherit;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.settings-mobile-nav-item.active{color:#4f46e5}.settings-mobile-nav-item.active .settings-mobile-nav-icon{color:#4f46e5;background:#eef2ff}.app-shell:has(.settings-page) .page-content-mockup{padding:0;overflow-x:hidden}}@media (width>=1025px){.members-mobile-list{display:none}.settings-mobile-nav{display:none!important}}.profile-page .page-header{margin-bottom:var(--space-5)}.profile-layout{gap:var(--space-5);grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start;display:grid}.profile-nav{padding:var(--space-3);gap:4px;display:grid}.profile-nav-item{width:100%;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;transition:background var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.profile-nav-item:hover{background:var(--bg);color:var(--text)}.profile-nav-item.active{background:var(--primary-light);color:var(--primary)}.profile-panel{overflow:hidden}.profile-panel-heading{margin:0 0 8px;font-size:1.05rem;font-weight:800}.profile-section{padding:var(--space-5);border-bottom:1px solid var(--border)}.profile-section-last{border-bottom:0}.profile-section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.profile-section-title{align-items:flex-start;gap:12px;min-width:0;display:flex}.profile-section-title h2{margin:0;font-size:1rem;font-weight:800}.profile-section-title p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.profile-section-icon{background:var(--primary-light);width:36px;height:36px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.profile-section-icon.success{background:var(--success-light);color:#007a57}.profile-account-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.profile-fields{gap:14px;margin:0;display:grid}.profile-fields dt{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.profile-fields dd{color:var(--text);margin:0;font-size:15px;font-weight:600}.profile-avatar-block{justify-items:center;gap:12px;display:grid}.profile-avatar{background:linear-gradient(145deg, var(--primary), #4f46e5);color:#fff;letter-spacing:.02em;width:112px;height:112px;box-shadow:var(--shadow-md);border-radius:999px;justify-content:center;align-items:center;font-size:2rem;font-weight:800;display:inline-flex;overflow:hidden}.profile-avatar-lg{width:88px;height:88px;font-size:1.5rem}.profile-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.profile-edit-body{gap:12px;display:grid}.profile-edit-photo{align-items:center;gap:16px;margin-bottom:4px;display:flex}.profile-edit-photo-actions{gap:8px;display:grid}.profile-crop-overlay{z-index:1200}.profile-crop-modal{width:min(100%,420px)}.profile-crop-body{justify-items:center;gap:16px;display:grid}.profile-crop-viewport{border:3px solid var(--border);cursor:grab;touch-action:none;box-shadow:var(--shadow-md);background:#0f172a;border-radius:999px;position:relative;overflow:hidden}.profile-crop-viewport:active{cursor:grabbing}.profile-crop-image{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;position:absolute}.profile-crop-zoom{align-items:center;gap:12px;width:min(100%,320px);display:flex}.profile-crop-zoom input[type=range]{flex:1}.profile-practice-card{background:var(--bg);border:1px solid var(--border);padding:var(--space-4);border-radius:14px}.profile-practice-name{margin-bottom:4px;font-weight:800}.profile-pref-row,.profile-session-row{justify-content:space-between;align-items:center;gap:var(--space-4);border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:14px 16px;display:flex}.profile-help-banner{margin-top:var(--space-5);background:var(--primary-light);color:var(--primary);border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.profile-help-banner p{color:var(--text-secondary);margin:0;font-weight:500}.profile-help-link{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}@media (width<=900px){.profile-layout,.profile-nav,.profile-account-grid{grid-template-columns:1fr}.profile-avatar-block{justify-items:start}.profile-pref-row,.profile-session-row{flex-wrap:wrap}}@media (width<=640px){.profile-section-head{flex-direction:column}.content-panel.profile-page{max-width:100%}}.admin-menu-link:hover{background:var(--primary-light);color:var(--primary)}.admin-shell{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex}.admin-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px));background:var(--card);border-bottom:1px solid var(--border);display:flex}.admin-brand{align-items:center;gap:var(--space-3);min-width:0;display:inline-flex}.admin-brand-logo{flex-shrink:0}.admin-brand-text{flex-direction:column;min-width:0;display:flex}.admin-brand-name{font-weight:800;font-size:var(--text-sm);color:var(--text);white-space:nowrap}.admin-brand-tag{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.admin-topbar-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;min-width:0;display:flex}.admin-user{font-size:var(--text-sm);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:600;overflow:hidden}.admin-nav{gap:var(--space-1);padding:0 var(--space-6);background:var(--card);border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-item{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;font-weight:600;display:inline-flex}.admin-nav-item:hover{color:var(--text)}.admin-nav-item.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-nav-badge{border-radius:var(--radius-full);background:var(--danger);min-width:20px;height:20px;color:var(--text-inverse);justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.admin-main{width:100%;min-width:0;max-width:1280px;padding:var(--space-6);flex:1;margin:0 auto}.admin-page{min-width:0}.admin-page h1{font-size:var(--text-2xl)}.admin-back{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-4);font-weight:600;display:inline-flex}.admin-back:hover{color:var(--primary)}.admin-link{color:var(--primary);align-items:center;gap:4px;font-weight:600;display:inline-flex}.admin-link:hover{text-decoration:underline}.admin-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-4);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.admin-state h2{font-size:var(--text-xl)}.admin-state-error{color:var(--danger)}.admin-state-error p{color:var(--text);max-width:420px}.admin-spinner{border:3px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-is-refreshing{opacity:.6;transition:opacity var(--duration) var(--ease)}.admin-badge-muted{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.admin-badge-sm{height:20px;padding:0 8px;font-size:10px}.admin-flags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.admin-detail-badges{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.admin-detail-badges .admin-flags{margin-top:0}.admin-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.admin-kpi{color:inherit;display:block}.admin-kpi-primary{--kpi-accent:var(--primary);--kpi-bg:var(--primary-light)}.admin-kpi-success{--kpi-accent:var(--success);--kpi-bg:var(--success-light)}.admin-kpi-danger{--kpi-accent:var(--danger);--kpi-bg:var(--danger-light)}.admin-kpi-warning{--kpi-accent:var(--warning);--kpi-bg:var(--warning-light)}.admin-kpi-meta{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;gap:2px;display:flex}.admin-card{margin-bottom:var(--space-5);min-width:0;overflow:hidden}.admin-card .card-header{gap:var(--space-3);flex-wrap:wrap}.admin-table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.admin-table-scroll.card{margin-bottom:var(--space-4)}.admin-table td{padding:10px 16px}.admin-table-clickable tbody tr{cursor:pointer}.admin-table-clickable tbody tr:hover{background:var(--primary-muted)}.admin-table-clickable tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.admin-num{text-align:right}th.admin-num .admin-th-sort{margin-left:auto}.admin-nowrap{white-space:nowrap}.admin-th-sort{text-transform:inherit;letter-spacing:inherit;font-weight:inherit;align-items:center;gap:4px;display:inline-flex}.admin-cell-main{color:var(--text);overflow-wrap:anywhere;font-weight:600}.admin-cell-sub{font-size:var(--text-xs);color:var(--text-secondary);overflow-wrap:anywhere}.admin-list{flex-direction:column;display:flex}.admin-list>li+li{border-top:1px solid var(--border)}.admin-list-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);min-width:0;display:flex}.admin-list-item>div:first-child{min-width:0}.admin-list-link{color:inherit}.admin-list-link:hover{background:var(--primary-muted)}.admin-list-badges{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;display:flex}.admin-dl{padding:var(--space-2) var(--space-5) var(--space-4)}.admin-dl-row{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px dashed var(--border);font-size:var(--text-sm);display:flex}.admin-dl-row:last-child{border-bottom:0}.admin-dl-row dt{color:var(--text-secondary)}.admin-dl-row dd{text-align:right;overflow-wrap:anywhere;font-weight:600}.admin-bar-cell{align-items:center;gap:var(--space-3);min-width:180px;display:flex}.admin-bar-track{border-radius:var(--radius-full);background:var(--bg);flex:1;height:8px;overflow:hidden}.admin-bar-fill{border-radius:inherit;background:var(--primary);height:100%;display:block}.admin-filters{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.admin-search{flex:260px;min-width:0;display:block;position:relative}.admin-search>svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.admin-search .form-input{width:100%;padding-left:36px}.admin-filter{flex-direction:column;flex:0 200px;min-width:0;display:flex}.admin-filter .form-label{font-size:var(--text-xs);margin-bottom:4px}.admin-filter .form-input{width:100%}.admin-pagination{justify-content:center;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;display:flex}.admin-detail-grid{gap:0 var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.admin-detail-grid>.admin-card-wide{grid-column:1/-1}.admin-usage-tiles{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(130px,100%),1fr));display:grid}.admin-usage-tile{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3)}.admin-usage-value{font-size:var(--text-xl);font-weight:800}.admin-usage-label{font-size:var(--text-xs);color:var(--text-secondary)}.admin-legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.admin-legend-item{align-items:center;gap:6px;display:inline-flex}.admin-legend-swatch{border-radius:3px;width:10px;height:10px}.admin-series-a{background:var(--primary)}.admin-series-b{background:var(--accent)}.admin-spark{height:96px;padding:var(--space-2) 0;border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;display:flex}.admin-spark-day{flex:1 1 0;align-items:flex-end;gap:1px;min-width:0;height:100%;display:flex}.admin-spark-bar{border-radius:2px 2px 0 0;flex:1 1 0;min-width:0}.admin-spark-axis{justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.admin-timeline{padding:var(--space-3) var(--space-5)}.admin-timeline-item{gap:var(--space-3);padding:var(--space-2) 0 var(--space-2);display:flex;position:relative}.admin-timeline-item:before{content:"";background:var(--border);width:2px;position:absolute;top:22px;bottom:-8px;left:4px}.admin-timeline-item:last-child:before{display:none}.admin-timeline-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:6px;position:relative}.admin-note-form{margin-bottom:var(--space-4)}.admin-note-input{min-height:80px}.admin-note-actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.admin-notes{gap:var(--space-3);flex-direction:column;display:flex}.admin-note{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--bg)}.admin-note-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.admin-note-body{font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}.admin-feed{flex-direction:column;display:flex}.admin-feed-item{gap:var(--space-3);padding:var(--space-3) var(--space-5);grid-template-columns:160px minmax(0,1fr);display:grid}.admin-feed-item+.admin-feed-item{border-top:1px solid var(--border)}.admin-feed-time{font-size:var(--text-xs);color:var(--text-secondary);padding-top:2px}.admin-alert-title{align-items:center;gap:var(--space-2);display:inline-flex}@media (width<=768px){.admin-topbar{padding-left:var(--space-4);padding-right:var(--space-4)}.admin-nav{padding:0 var(--space-2)}.admin-main{padding:var(--space-4)}.admin-user{display:none}.admin-detail-grid{grid-template-columns:minmax(0,1fr)}.admin-feed-item{padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr);gap:2px}.admin-list-item{padding:var(--space-3) var(--space-4);align-items:flex-start}.admin-filter{flex:140px}.admin-dl{padding:var(--space-2) var(--space-4) var(--space-3)}}@media (width<=480px){.admin-hide-xs,.admin-brand-name{display:none}}.admin-demo-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-demo-actions-col{min-width:220px}.admin-demo-form{gap:var(--space-3);display:grid}.admin-demo-intro{margin:0}.admin-demo-pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.admin-demo-sample-hint{margin-top:calc(-1 * var(--space-2));padding-left:26px}.admin-demo-error{color:var(--danger,#b91c1c);font-size:var(--text-sm);margin:0}@media (width<=480px){.admin-demo-pair{grid-template-columns:1fr}}.billing-banner.is-demo{color:#1e3a8a;background:#eff6ff;border-bottom-color:#bfdbfe}
