*,*:before,*:after{box-sizing:border-box}:root{--bg-page: #f8f9fa;--bg-card: #ffffff;--bg-card-hover: #f0f2f5;--border: #e5e7eb;--text: #333333;--text-muted: #6b7280;--primary: #005bb5;--primary-hover: #004494;--success: #16a34a;--success-hover: #15803d;--danger: #dc2626;--danger-hover: #b91c1c;--radius: 10px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--font-sans: "DM Sans", "Inter", system-ui, -apple-system, sans-serif}body{margin:0;font-family:var(--font-sans);background:var(--bg-page);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--primary);text-decoration:none;transition:color .15s ease}a:hover{color:#004494}input,select,button,textarea{font-family:inherit;font-size:1rem}input,select,textarea{padding:.6rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);width:100%;max-width:100%;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #005bb533}button{cursor:pointer;padding:.6rem 1.2rem;border-radius:8px;border:none;font-weight:500;transition:background-color .15s ease,transform .05s ease}button:active{transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.6}button.primary{background:var(--primary);color:#fff}button.primary:hover:not(:disabled){background:var(--primary-hover)}button.danger{background:var(--danger);color:#fff}button.danger:hover:not(:disabled){background:var(--danger-hover)}button.secondary{background:var(--border);color:var(--text)}button.secondary:hover:not(:disabled){background:#d1d5db}a.link-btn{display:inline-block;padding:.6rem 1.2rem;border-radius:8px;font-weight:500;text-decoration:none;transition:background-color .15s ease,transform .05s ease}a.link-btn.primary{background:var(--primary);color:#fff}a.link-btn.primary:hover{background:var(--primary-hover)}a.link-btn.secondary{background:var(--border);color:var(--text)}a.link-btn.secondary:hover{background:#d1d5db}.container{max-width:800px;margin:0 auto;padding:2rem 0}.card{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem 1.75rem;margin-bottom:1.25rem;border:1px solid var(--border);box-shadow:var(--shadow)}.card h3{margin:0 0 .5rem;font-size:1.15rem;font-weight:600;color:var(--text)}.card h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-muted)}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;background:#fafffd}.login-page__logo{margin-bottom:2rem}.login-page__logo img{display:block;height:32px;width:auto}.login-page__card{width:100%;max-width:547px;min-height:448px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:30px;border:1px solid #ededed;background:#fff;box-sizing:border-box}.login-page__inner{width:100%;max-width:483px;min-height:384px;display:flex;flex-direction:column;gap:32px;box-sizing:border-box}.login-page__auth-title{font-family:PP Telegraf,system-ui,-apple-system,sans-serif;font-weight:700;font-style:normal;font-size:17px;line-height:24px;letter-spacing:-.005em;text-align:center;color:#1e2224;margin:0}.login-page__form{width:100%;max-width:483px}.login-page__form-block{width:100%;max-width:483px;min-height:244px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.login-page__label{display:block;margin:0 0 16px;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:14px;line-height:24px;letter-spacing:-.005em;color:#005cb9}.login-page__email-input{width:100%;max-width:483px;height:52px;box-sizing:border-box;border-radius:8px;padding:8px 20px;border:1px solid transparent;background:#f0f7fc;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:17px;line-height:24px;letter-spacing:-.005em;color:#1e2224}.login-page__email-input::placeholder{color:#1e2224;opacity:.6}.login-page__email-input:focus{outline:none;border-color:#005cb9}.login-page__email-error{margin:4px 0 0;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:14px;line-height:24px;letter-spacing:-.005em;color:#c03535}.login-page__password-input{width:100%;max-width:483px;height:52px;box-sizing:border-box;border-radius:8px;padding:8px 20px;border:1px solid transparent;background:#f0f7fc;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:17px;line-height:24px;letter-spacing:-.005em;color:#1e2224}.login-page__password-input::placeholder{color:#858688}.login-page__password-input:focus{outline:none;border-color:#005cb9}.login-page__password-error{margin:4px 0 0;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:14px;line-height:24px;letter-spacing:-.005em;color:#c03535}.login-page__card .login-page__field{margin-bottom:0}.login-page__card form{display:flex;flex-direction:column;gap:32px}.login-page__card form>*{margin-bottom:0}.login-page__card form .error,.login-page__card form .success{margin:0}.login-page__submit{width:100%;max-width:483px;height:52px;display:flex;align-items:center;justify-content:center;gap:16px;border:none;border-radius:16px;padding:14px 16px;background:#015cb9;color:#fff;font-family:Exo,system-ui,sans-serif;font-weight:600;font-size:15px;line-height:20px;letter-spacing:0;cursor:pointer;transition:background .2s ease;box-sizing:border-box}.login-page__submit:hover:not(:disabled){background:#014a96}.login-page__submit:disabled{opacity:.8;cursor:not-allowed}.login-page__submit svg{flex-shrink:0}.login-page__submit-text{flex-shrink:0}.error{color:#b91c1c;font-size:.9rem}.success{color:#16a34a}.confirm-overlay{animation:confirmFadeIn .2s ease-out}.confirm-overlay--exit{opacity:0;pointer-events:none}.confirm-overlay .confirm-card--exit{opacity:0;transform:scale(.98)}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;left:0;top:0;bottom:0;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;box-shadow:4px 0 24px #00000026}.nav-secondary.MuiDrawer-root .MuiDrawer-paper{background:#f0f2f5!important;border-right:1px solid #e5e7eb!important;box-shadow:none!important}.nav-secondary .MuiListItemButton-root{color:#6b7280!important}.nav-secondary .MuiListItemButton-root:hover{background:#e5e7eb!important;color:#374151!important}.nav-secondary .MuiListItemButton-root.Mui-selected{background:#005bb51f!important;color:#005bb5!important}.nav-secondary .MuiListItemIcon-root{color:inherit!important}.nav-secondary .MuiDivider-root{border-color:#e5e7eb!important}.nav-secondary .MuiTypography-root{color:#374151!important}.nav-secondary .MuiTypography-caption{color:#6b7280!important}.sidebar-nav{flex:1;padding:1.25rem 0;display:flex;flex-direction:column;gap:.25rem}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .15s ease,background .15s ease;border-left:3px solid transparent}.sidebar-nav-item:hover{color:var(--text);background:var(--bg-card-hover)}.sidebar-nav-item--active{color:var(--primary);background:#3b82f614;border-left-color:var(--primary)}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer{padding:1rem 1rem 1.25rem;border-top:1px solid var(--border);background:#0000000a}.sidebar-profile{display:flex;align-items:flex-start;gap:.75rem}.sidebar-profile-avatar{width:40px;height:40px;border-radius:50%;background:var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-profile-info{flex:1;min-width:0}.sidebar-profile-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-profile-name{font-weight:600;font-size:.95rem;color:var(--text)}.sidebar-profile-row--email{margin-top:.25rem}.sidebar-profile-email{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.8rem;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.sidebar-logout:hover{color:var(--text);background:var(--bg-card-hover);border-color:var(--text-muted)}.global-navbar{height:64px;padding:16px 80px;display:flex;align-items:center;justify-content:space-between;background:#f8f9fa;border-bottom:1.5px solid #e5e7eb;box-sizing:border-box;flex-shrink:0;z-index:110}.global-navbar__left{display:flex;align-items:center}.global-navbar__logo{display:flex;align-items:center;text-decoration:none}.global-navbar__logo-img{display:block;height:28px;width:auto;object-fit:contain}.global-navbar__center{display:flex;align-items:center;gap:8px;height:24px;max-width:382px}.global-navbar__folder-icon{display:inline-flex;align-items:center;justify-content:center;color:#6b7280;flex-shrink:0}.global-navbar__project-name{font-family:Inter,var(--font-sans);font-weight:400;font-size:16px;line-height:24px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-navbar__project-tag{font-family:Inter,var(--font-sans);font-weight:400;font-size:16px;line-height:24px;color:#fff;background:#6b7280;padding:0 4px;flex-shrink:0}.global-navbar__status-dot{width:8px;height:8px;border-radius:9999px;background:#005bb5;flex-shrink:0}.global-navbar__right{display:flex;align-items:center}.global-navbar__user{display:flex;align-items:center;gap:8px;height:24px}.global-navbar__user-dot{width:8px;height:8px;border-radius:9999px;background:#005bb5;flex-shrink:0}.global-navbar__user-avatar{width:32px;height:32px;border-radius:50%;background:#005bb5;color:#fff;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;line-height:1;font-family:Exo,var(--font-sans)}.global-navbar__user-avatar--menu{width:40px;height:40px;font-size:14px}.global-navbar__user-name{font-family:Exo,var(--font-sans);font-weight:500;font-size:14px;line-height:20px;color:#333}.global-navbar__user-chevron{color:#6b7280!important;flex-shrink:0}.app-layout-with-nav{display:flex;flex-direction:column;min-height:100vh}.app-layout-with-nav .app-layout{flex:1;min-height:0}.app-layout{display:flex;flex:1;min-height:0}.app-main{flex:1;margin-left:200px;padding:2rem 0;max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;min-height:0}.dashboard-layout{display:flex;flex-direction:column;min-height:100vh}.dashboard-layout__main{flex:1;width:100%;max-width:1216px;margin:0 auto;padding:2rem 1rem;box-sizing:border-box;display:flex;flex-direction:column;min-height:0}.dashboard-layout__header{width:100%;height:40px;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.dashboard-layout__title{margin:0;font-family:PP Telegraf,system-ui,-apple-system,sans-serif;font-weight:700;font-size:24px;line-height:32px;letter-spacing:0;color:#333;vertical-align:middle}.dashboard-layout__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:8px 16px;border-radius:6px;border:none;background:#005bb5;box-shadow:0 1px 2px #0000000d;color:#fff;font-family:Exo,system-ui,sans-serif;font-weight:500;font-size:16px;line-height:24px;letter-spacing:0;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s ease;box-sizing:border-box}.dashboard-layout__btn:link,.dashboard-layout__btn:visited,.dashboard-layout__btn:hover,.dashboard-layout__btn:focus{color:#fff}.dashboard-layout__btn:hover{background:#004a96}.dashboard-layout__btn:hover svg{color:#fff}.dashboard-layout__btn svg{flex-shrink:0}.dashboard-blocks{display:flex;flex-wrap:nowrap;gap:24px}.dashboard-block{position:relative;width:389px;max-width:100%;height:144px;box-sizing:border-box;border-radius:12px;padding:24px;background:#fff;border:1px solid #e0e0e0;box-shadow:0 1px 2px #0000000d;display:flex;align-items:flex-start;text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease;cursor:pointer;font:inherit;text-align:left}button.dashboard-block{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.dashboard-block__icon{position:absolute;top:24px;right:24px;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#6b7280}.dashboard-block--selected .dashboard-block__icon{color:#005bb5}.dashboard-block__icon svg{display:block;width:auto;height:40px}a.dashboard-block:link,a.dashboard-block:visited,a.dashboard-block:hover,a.dashboard-block:focus{color:inherit}.dashboard-block:hover{border-color:#005bb5}.dashboard-block--selected{border-width:2px;border-color:#005bb5}.dashboard-block__label{font-weight:600;font-size:1rem}.dashboard-block__body{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.dashboard-block__top-label{font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0;color:#6b7280}.dashboard-block--selected .dashboard-block__top-label{color:#005bb5}.dashboard-block__count{font-family:PP Telegraf,system-ui,sans-serif;font-weight:700;font-size:30px;line-height:36px;letter-spacing:0;color:#6b7280}.dashboard-block--selected .dashboard-block__count{color:#005bb5}.dashboard-block__trend{display:inline-flex;align-items:center;gap:4px;color:#16a34a;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0}.dashboard-block__trend svg{flex-shrink:0;width:9px;height:9px}.dashboard-content{margin-top:32px}.dashboard-table{width:100%;max-width:1216px;height:435px;border-radius:12px;border:1px solid #e0e0e0;background:#fff;box-shadow:0 1px 2px #0000000d;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.dashboard-table__header{width:100%;min-height:69px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f9fafb;border-bottom:1px solid #e0e0e0;box-sizing:border-box;flex-shrink:0}.dashboard-table__title{margin:0;font-family:PP Telegraf,system-ui,sans-serif;font-weight:700;font-size:18px;line-height:28px;letter-spacing:0;color:#333}.dashboard-table__search-wrap{display:flex;align-items:center;gap:12px;height:36px}.dashboard-table__search-label{position:relative;display:block;width:256px;height:36px}.dashboard-table__search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:#9ca3af;pointer-events:none}.dashboard-table__search-icon svg{width:14px;height:14px}.dashboard-table__search-input{width:100%;height:36px;border-radius:4px;border:1px solid #e0e0e0;padding:7px 16px 8px 36px;background:#fff;font-family:Exo,system-ui,sans-serif;font-weight:500;font-size:14px;line-height:100%;letter-spacing:0;color:var(--text);box-sizing:border-box}.dashboard-table__search-input::placeholder{color:#6b7280}.dashboard-table__search-input:focus{outline:none;border-color:#005bb5}.dashboard-table__filter-btn{width:36px;height:36px;border-radius:4px;border:1px solid #e0e0e0;padding:6px;background:#fff;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,color .2s ease}.dashboard-table__filter-btn:hover{border-color:#005bb5;color:#005bb5}.dashboard-table__filter-btn svg{width:11px;height:7px}.dashboard-table__body{flex:1;overflow:auto;padding:0;box-sizing:border-box}.dashboard-table__thead{flex-shrink:0;border-bottom:1px solid #e0e0e0}.dashboard-table__tr{display:grid;grid-template-columns:2fr 1fr 1fr 1fr minmax(100px,auto);gap:16px;align-items:center;min-height:40px;padding:12px 24px;box-sizing:border-box}.dashboard-table__list .dashboard-table__tr{min-height:52px;padding:16px 24px}.dashboard-table__tr--head{background:transparent}.dashboard-table__th{font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0;text-transform:uppercase;color:#6b7280}.dashboard-table__cell{font-size:14px;color:var(--text)}.dashboard-table__cell--name{font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0;color:#111827}.dashboard-table__cell--name .dashboard-table__row-link{color:#111827;font-weight:500}.dashboard-table__cell--name .dashboard-table__row-link:hover{color:#005bb5}.dashboard-table__cell--client{font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0;color:#4b5563}.dashboard-table__cell--date{font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0;color:#6b7280}.dashboard-table__status{display:inline-flex;align-items:center;min-height:20px;padding:2px 10px;border-radius:9999px;background:#dcfce7;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0;color:#166534;box-sizing:border-box}.dashboard-table__actions{display:flex;align-items:center;gap:8px;opacity:0;transition:opacity .15s ease}.dashboard-table__tr:hover .dashboard-table__actions{opacity:1}.dashboard-table__action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:background .15s ease,color .15s ease}.dashboard-table__action--edit{color:#005bb5}.dashboard-table__action--edit:hover{background:#005bb51a}.dashboard-table__action--delete{color:#dc2626}.dashboard-table__action--delete:hover:not(:disabled){background:#dc26261a}.dashboard-table__action:disabled{opacity:.5;cursor:not-allowed}.dashboard-table__action svg{flex-shrink:0}.dashboard-table__empty{margin:0;padding:16px 24px;color:var(--text-muted);font-size:14px}.dashboard-table__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.dashboard-table__list .dashboard-table__tr{border-bottom:1px solid #f3f4f6}.dashboard-table__list .dashboard-table__tr:last-child{border-bottom:none}.dashboard-table__tr--users{grid-template-columns:2fr 1.5fr 1fr 1fr minmax(100px,auto)}.dashboard-table__cell--username{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text)}.dashboard-table__avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:14px;line-height:1;color:#fff;letter-spacing:.02em}.dashboard-table__username-text{font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:#111827}.dashboard-table__cell--email{font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:#4b5563}.dashboard-table__cell--role{font-size:14px}.dashboard-table__role{display:inline-flex;align-items:center;min-height:20px;padding:2px 10px;border-radius:9999px;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0;box-sizing:border-box}.dashboard-table__role--superadmin{background:#fef3c7;color:#92400e}.dashboard-table__role--admin{background:#dbeafe;color:#1e40af}.dashboard-table__role--user{background:#f3f4f6;color:#4b5563}.dashboard-table__role:not([class*=--superadmin]):not([class*=--admin]):not([class*=--user]){background:#e5e7eb;color:#6b7280}.dashboard-table__status-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 10px;border-radius:9999px;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0;box-sizing:border-box}.dashboard-table__status-badge--active{background:#dcfce7;color:#166534}.dashboard-table__status-badge--inactive{background:#f3f4f6;color:#6b7280}.dashboard-table__action--deactivate{color:#6b7280}.dashboard-table__action--deactivate:hover:not(:disabled){color:#dc2626;background:#dc26261a}.dashboard-table__tr--users .dashboard-table__actions{opacity:1}.dashboard-table__list--padded{padding:16px 24px}.dashboard-table__row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem}.dashboard-table__row-link{font-weight:600;color:var(--primary);text-decoration:none}.dashboard-table__row-link:hover{text-decoration:underline}.dashboard-table__row-desc{color:var(--text-muted);font-size:.9rem}.dashboard-table__footer{display:flex;align-items:center;justify-content:space-between;min-height:63px;padding:16px 24px;border-top:1px solid #e0e0e0;background:#f9fafb}.dashboard-table__footer-text{font-family:Exo,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:#6b7280;vertical-align:middle}.dashboard-table__footer-actions{display:flex;gap:8px}.dashboard-table__footer-btn{height:30px;padding:4px 12px;border-radius:6px;border:1px solid #e0e0e0;background:#fff;font-family:inherit;font-size:14px;line-height:20px;color:#374151;cursor:pointer}.dashboard-table__footer-btn:hover:not(:disabled){border-color:#d0d0d0;background:#f5f5f5}.dashboard-table__footer-btn:disabled{opacity:.5;color:#6b7280;cursor:not-allowed}.full-width-page{width:100%;height:960px;min-height:960px;max-height:960px;padding:1rem 0;box-sizing:border-box;display:flex;flex-direction:column;background:var(--bg-page);overflow:hidden}.full-width-page.full-width-page--scroll{height:auto;min-height:100vh;max-height:none;overflow:visible}.full-width-page>.global-navbar{margin-top:-1rem}.full-width-page .project-view{flex:1;min-height:0;margin:0;overflow:hidden}.project-view{display:flex;flex-direction:column;flex:1;min-height:0;margin:-.5rem -.5rem -.5rem 0;width:100%;overflow:hidden}.project-view__loading{display:flex;align-items:center;justify-content:center;flex:1;min-height:200px}.project-view__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;flex-shrink:0}.project-view__header-left{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.project-view__columns{display:flex;flex:1;min-height:0;width:100%;gap:0;border:1px solid var(--border);overflow:hidden;background:var(--bg-card)}.project-view__col{min-height:0;min-width:0;display:flex;flex-direction:column;overflow:auto}.project-view__col--left{flex:320 1 0;border-right:1px solid var(--border)}.project-view__col--center{flex:800 1 0;border-right:1px solid var(--border);overflow:hidden}.project-view__col--right{flex:320 1 0;gap:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.project-view__panel{padding:1rem 1.25rem;height:100%;overflow:auto}.project-view__panel-form{padding:0;background:var(--bg-card);display:flex;flex-direction:column;min-height:0}.project-view__panel-form-header{height:42px;padding:8px 16px;background:#f9fafb;border-width:1px 0 1px 0;border-style:solid;border-color:#e0e0e0;flex-shrink:0}.project-view__panel-form-header-inner{display:flex;align-items:center;justify-content:space-between;gap:8px;height:24px}.project-view__panel-form-header-title{display:flex;align-items:center;gap:8px;min-width:0}.project-view__panel-form-header-icon{display:flex;align-items:center;justify-content:center;color:#4b5563;width:12px;height:12px;flex-shrink:0}.project-view__panel-form-header-icon svg{width:12px;height:12px;font-size:12px}.project-view__panel-form-header-text{font-family:Inter,sans-serif;font-weight:600;font-size:14px;line-height:20px;letter-spacing:.7px;text-transform:uppercase;color:#4b5563;vertical-align:middle}.project-view__panel-form-body{padding:1rem 1.25rem;overflow:auto;flex:1;min-height:0}.project-view__panel-meshes,.project-view__panel-properties{padding:0;background:var(--bg-card);display:flex;flex-direction:column;flex:1 1 0;min-height:0;border:1px solid var(--border);overflow:hidden}.project-view__panel-meshes{border-bottom:none}.project-view__panel-properties{border-top:none}.project-view__panel-meshes-header,.project-view__panel-properties-header{height:42px;padding:8px 16px;background:#f9fafb;border-width:1px 0 1px 0;border-style:solid;border-color:#e0e0e0;flex-shrink:0}.project-view__properties-tabs{display:flex;flex-shrink:0;height:30px;opacity:1;border-radius:0}.project-view__properties-tab{flex:1;height:30px;padding:6px 16px;border:none;border-bottom:2px solid transparent;border-radius:0;font-family:Inter,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0;text-align:center;vertical-align:middle;background:transparent;color:#6b7280;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.project-view__properties-tab:hover{color:#4b5563;background:#6b728014}.project-view__properties-tab--active{color:#005bb5;border-bottom-color:#005bb5}.project-view__properties-tab--active:hover{color:#005bb5;border-bottom-color:#005bb5;background:#005bb514}.project-view__panel-meshes-header-inner,.project-view__panel-properties-header-inner{display:flex;align-items:center;justify-content:space-between;gap:8px;height:24px}.project-view__panel-meshes-header-title,.project-view__panel-properties-header-title{display:flex;align-items:center;gap:8px;min-width:0}.project-view__panel-meshes-header-icon,.project-view__panel-properties-header-icon{display:flex;align-items:center;justify-content:center;color:#4b5563;width:12px;height:12px;flex-shrink:0}.project-view__panel-meshes-header-icon svg,.project-view__panel-properties-header-icon svg{width:12px;height:12px;font-size:12px}.project-view__panel-meshes-header-text,.project-view__panel-properties-header-text{font-family:Inter,sans-serif;font-weight:600;font-size:14px;line-height:20px;letter-spacing:.7px;text-transform:uppercase;color:#4b5563;vertical-align:middle}.project-view__panel-meshes-body,.project-view__panel-properties-body{padding:1rem 1.25rem;overflow:auto;flex:1;min-height:0}.project-view__position-block{min-height:58px;opacity:1;display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}.project-view__position-label{font-family:Inter,sans-serif;font-weight:600;font-size:12px;line-height:16px;letter-spacing:0;vertical-align:middle;text-transform:uppercase;color:#6b7280}.project-view__position-row{display:flex;gap:8px}.project-view__position-cell{flex:1;height:34px;display:flex;align-items:center;gap:6px;min-width:0}.project-view__position-axis{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0;vertical-align:middle;color:#9ca3af;flex-shrink:0;width:1em;text-align:left}.project-view__position-input-wrap{flex:1;height:34px;border-radius:8px;padding:4px;border:1px solid #d1d5db;background:#fff;display:flex;align-items:center;min-width:0}.project-view__position-input{width:100%;height:24px;min-width:0;border:none;padding:0 4px;font-family:Inter,sans-serif;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0;color:#333;background:transparent;outline:none}.project-view__position-input::placeholder{color:#9ca3af}.project-view__material-block{margin-top:1rem;margin-bottom:1rem}.project-view__material-title{font-family:Inter,sans-serif;font-weight:600;font-size:12px;line-height:16px;letter-spacing:0;text-transform:uppercase;color:#374151;margin-bottom:.75rem}.project-view__material-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.625rem}.project-view__material-row:last-child{margin-bottom:0}.project-view__material-apply-row{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;gap:.5rem}.project-view__material-apply-btn,.project-view__material-reset-btn{flex:1;padding:.5rem 1rem;font-family:Inter,sans-serif;font-weight:500;font-size:14px;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.project-view__material-apply-btn{border:1px solid #005bb5;background:#005bb5;color:#fff}.project-view__material-apply-btn:hover:not(:disabled){background:#004a94;border-color:#004a94}.project-view__material-apply-btn:disabled,.project-view__material-reset-btn:disabled{opacity:.5;cursor:not-allowed}.project-view__material-reset-btn{border:1px solid #d1d5db;background:#fff;color:#374151}.project-view__material-reset-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.project-view__material-label{font-family:Inter,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:#374151;flex-shrink:0}.project-view__material-base-color{display:flex;align-items:center;gap:8px;min-width:0;flex:1;max-width:180px;justify-content:flex-end}.project-view__material-swatch{width:24px;height:24px;padding:0;border:none;border-radius:4px;cursor:pointer;flex-shrink:0;background:transparent}.project-view__material-swatch::-webkit-color-swatch-wrapper{padding:0}.project-view__material-swatch::-webkit-color-swatch{border:none;border-radius:4px}.project-view__material-hex{flex:1;min-width:0;height:34px;padding:4px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#333;outline:none}.project-view__material-select-wrap{position:relative;min-width:0;max-width:180px;flex:1;display:flex;align-items:center;justify-content:flex-end}.project-view__material-select{width:100%;height:34px;padding:4px 32px 4px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#333;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.project-view__material-chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:#6b7280;display:flex;align-items:center;justify-content:center}.project-view__material-chevron svg{width:20px;height:20px}.project-view__material-checkbox-wrap{display:inline-flex;cursor:pointer}.project-view__material-checkbox-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.project-view__material-checkbox-box{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #d1d5db;background:#fff;transition:background .15s,border-color .15s}.project-view__material-checkbox-box--circle{border-radius:50%}.project-view__material-checkbox-box svg{opacity:0;transition:opacity .15s}.project-view__material-checkbox-wrap--checked .project-view__material-checkbox-box{background:#005bb5;border-color:#005bb5}.project-view__material-checkbox-wrap--checked .project-view__material-checkbox-box svg{opacity:1}.project-view__form-question-select{display:flex;flex-direction:column;gap:8px}.project-view__form-question-select-label{height:20px;display:flex;align-items:center;font-family:Inter,sans-serif;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0;color:#374151;vertical-align:middle}.project-view__form-question-select-box{min-height:48px;height:auto;padding:12px 16px;border-radius:8px;border:1px solid #e0e0e0;background:#fff;box-shadow:0 1px 2px #0000000d;display:flex;align-items:center;position:relative;box-sizing:border-box}.project-view__form-question-select-input{flex:1;min-width:0;min-height:20px;border:none;background:transparent;font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:#374151;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding:0;margin:0 8px 0 0}.project-view__form-question-select-chevron{display:flex;align-items:center;justify-content:center;color:#374151;width:21px;height:21px;flex-shrink:0;pointer-events:none}.project-view__form-question-select-chevron svg{width:21px;height:21px;font-size:21px}.project-view__question-result{margin-top:1rem}.project-view__question-form{display:flex;flex-direction:column;gap:.75rem}.project-view__question-block{padding:1rem;border-radius:6px;border:1px solid #e0e0e0;background:#fff;box-shadow:0 1px 2px #0000000d}.project-view__question-label{display:block;margin-bottom:.5rem;font-family:Inter,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:#374151}.project-view__question-input{width:100%;max-width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;box-sizing:border-box}.project-view__question-info-text{font-size:.9rem;color:var(--text)}.project-view__answer-variants{min-height:341px;display:flex;flex-direction:column;gap:16px}.project-view__answer-variants-title{height:29px;margin:0;padding-bottom:8px;border-bottom:1px solid #e0e0e0;font-family:Inter,sans-serif;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0;color:#374151;vertical-align:middle;box-sizing:border-box}.project-view__answer-variants-list{display:flex;flex-direction:column;gap:16px}.project-view__answer-variant-card{min-height:88px;display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:6px;border:1px solid #e0e0e0;background:#fff;box-sizing:border-box}.project-view__answer-variant-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:20px}.project-view__answer-variant-name{font-family:Inter,sans-serif;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0;color:#333;vertical-align:middle;flex:1;min-width:0}.project-view__answer-variant-btn{height:30px;padding:6px 12px;gap:4px;border-radius:8px;border:1px solid rgba(0,91,181,.2);background:#f9fafb;font-family:Inter,sans-serif;font-weight:500;font-size:12px;line-height:16px;letter-spacing:0;text-align:center;color:#005bb5;cursor:pointer;align-self:flex-start;transition:background .2s,border-color .2s,color .2s;display:inline-flex;align-items:center;justify-content:center}.project-view__answer-variant-btn-icon{color:inherit;width:16px;height:16px;margin-right:4px;flex-shrink:0}.project-view__answer-variant-btn-icon svg{width:16px;height:16px;font-size:16px}.project-view__answer-variant-btn:hover{opacity:.9}.project-view__answer-variant-btn--configured{background:#f9fbf9;border-color:#16a34a80;color:#166534}.project-view__question-options{display:flex;flex-direction:column;gap:.35rem}.project-view__question-option-label{font-size:.9rem}.project-view__question-hint{margin:1rem 0 0;font-size:.9rem;color:var(--text-muted)}.project-view__viewer-placeholder{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;background:#1a1c23;color:var(--text-muted);min-height:280px;min-width:0}.project-view__viewer-area{position:relative;width:100%;height:100%;flex:1;min-height:0;min-width:0}.project-view__upload-zone-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;box-sizing:border-box;pointer-events:none}.project-view__upload-zone-wrap>*{pointer-events:auto}.project-view__viewer-area .project-view__upload-zone-wrap .project-view__upload-zone{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60.25%;height:29.791666%;border-radius:8px;border:2px dashed #3b82f6;background:#3b82f61a;opacity:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s;box-sizing:border-box;flex-shrink:0}.project-view__upload-zone:hover,.project-view__upload-zone--drag{background:#3b82f628;border-color:#2563eb}.project-view__upload-zone .project-view__upload-zone-text{font-family:Inter,sans-serif;font-weight:500;font-style:normal;font-size:16px;line-height:24px;letter-spacing:0;vertical-align:middle;color:#fff!important}.project-view__upload-test-btn{position:absolute;left:50%;transform:translate(-50%);top:calc(50% + 14.895833% + 8px);z-index:11;box-sizing:border-box;min-width:140px;border:1px solid #3b82f6;background:#1a1c23;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#60a5fa;border-radius:8px;padding:8px 16px;cursor:pointer;outline:none;transition:background .15s,color .15s}.project-view__upload-test-btn:hover{background:#3b82f61a;color:#93c5fd}.project-view__upload-test-btn:focus{outline:none}.project-view__upload-test-btn:active{transform:translate(-50%) scale(.98)}.project-view__panel-form-body--no-model .project-view__form-question-select,.project-view__panel-form-body--no-model .project-view__question-result,.project-view__panel-form-body--no-model .project-view__panel-form-body>p{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.project-view__panel--no-model .project-view__panel-meshes-body,.project-view__panel--no-model .project-view__properties-tabs,.project-view__panel--no-model .project-view__panel-properties-body{display:none}.project-view__viewer-area>div:first-of-type{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:auto}.project-view__viewer-area>div:first-of-type>div{width:100%;height:100%;pointer-events:auto}.project-view__viewer-toolbar{position:absolute;top:16px;left:16px;display:flex;flex-direction:row;gap:8px;z-index:10;pointer-events:none}.project-view__viewer-toolbar>*{pointer-events:auto}.project-view__viewer-toolbar-btn{width:40px;height:40px;padding:8px;border-radius:8px;border:1px solid rgba(75,85,99,.5);background:#1f2937eb;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.project-view__viewer-toolbar-btn:hover{background:#374151e6;border-color:#4b5563cc}.project-view__viewer-toolbar-btn svg{flex-shrink:0;display:block}.project-view__viewer-toolbar-divider{width:9px;height:40px;padding:4px;display:flex;align-items:center;justify-content:center}.project-view__viewer-toolbar-divider-line{width:1px;height:32px;background:#4b556380;display:block}.project-view__viewer-toolbar-perspective{width:134px;height:40px;padding:7.5px 12px 8.5px;gap:4px;border-radius:8px;border:1px solid rgba(75,85,99,.5);background:#1f2937eb;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.project-view__viewer-toolbar-perspective-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.project-view__viewer-toolbar-perspective-icon svg{width:12px;height:8px;display:block}.project-view__viewer-toolbar-perspective .project-view__viewer-toolbar-perspective-text{font-family:Inter,sans-serif;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0;text-align:center;vertical-align:middle;color:#fff}.project-view__viewer-save-btn{position:absolute;top:16px;right:16px;min-width:140px;width:auto;height:40px;padding:8px 12px;gap:6px;border-radius:8px;border:1px solid rgba(59,130,246,.5);background:#005bb5e6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-sizing:border-box;transition:background .15s,border-color .15s;color:#fff}.project-view__viewer-save-btn:hover{background:#005bb5f2;border-color:#3b82f6b3}.project-view__viewer-save-btn-icon{flex-shrink:0;display:block;color:#fff}.project-view__viewer-save-btn-icon path{fill:#fff}.project-view__viewer-save-btn .project-view__viewer-save-btn-text{font-family:Inter,sans-serif;font-weight:500;font-style:normal;font-size:14px;line-height:20px;letter-spacing:0px;text-align:center;vertical-align:middle;color:#fff!important;white-space:nowrap}.project-view__viewer-side-icons{position:absolute;right:16px;bottom:16px;width:40px;display:flex;flex-direction:column;gap:8px;z-index:10}.project-view__viewer-side-icon-btn{width:40px;height:40px;padding:8px;border-radius:8px;border:1px solid rgba(75,85,99,.5);background:#1f2937cc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;transition:background .15s,border-color .15s}.project-view__viewer-side-icon-btn:hover{background:#374151e6;border-color:#4b5563cc}.project-view__viewer-side-icon-btn svg{display:block;flex-shrink:0}.project-view__viewer-side-icon-divider{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.project-view__viewer-side-icon-divider svg{display:block;opacity:.7}.project-view__viewer-placeholder span{font-size:1.1rem;font-weight:600;color:var(--text)}.project-view__viewer-hint{margin:.5rem 0 0;font-size:.9rem}.project-view__mesh-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.project-view__mesh-item{display:block;width:100%;padding:.5rem .75rem;text-align:left;font-size:.9rem;color:var(--text);background:var(--bg-page);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;line-height:1.35}.project-view__mesh-item:hover{background:var(--bg-card);border-color:var(--primary)}.project-view__mesh-item--selected{border-color:var(--primary);background:#005bb514}.project-view__mesh-item--hovered{background:#005bb526;border-color:#005bb5;box-shadow:0 0 0 1px #005bb54d}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-view__unsaved-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1300;padding:1rem}.project-view__unsaved-modal{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem 1.75rem;max-width:400px;width:100%;border:1px solid var(--border);box-shadow:var(--shadow)}.project-view__unsaved-modal-title{margin:0 0 .5rem;font-size:1.15rem;font-weight:600;color:var(--text)}.project-view__unsaved-modal-message{margin:0 0 1.25rem;font-size:.95rem;color:var(--text-muted);line-height:1.5}.project-view__unsaved-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}
