.error-boundary{background:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.error-boundary__content{text-align:center;max-width:400px}.error-boundary__title{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.error-boundary__message{color:var(--color-text-secondary);word-break:break-word;margin-bottom:1.5rem;font-size:.875rem}.header{top:0;left:0;right:var(--phone-sidebar-reserved-width,3.25rem);height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;box-shadow:var(--shadow-sm);transition:background var(--transition-slow), border-color var(--transition-slow), right .25s cubic-bezier(.4, 0, .2, 1);justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex;position:fixed}body.phone-disabled .header{left:0;right:0}body.phone-sidebar-left .header{left:var(--phone-sidebar-reserved-width,3.25rem);right:0}.header__left{align-items:center;gap:.875rem;min-width:0;display:flex}.header__menu-btn{cursor:pointer;border-radius:var(--radius-sm);width:2rem;height:2rem;transition:background var(--transition-fast);background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;padding:4px;display:flex}.header__menu-btn:hover{background:var(--color-hover)}.hamburger-line{background:var(--color-text-secondary);width:18px;height:2px;transition:background var(--transition-fast);border-radius:2px;display:block}.header__menu-btn:hover .hamburger-line{background:var(--color-text)}.header__logo{object-fit:contain;object-position:center;width:auto;max-width:min(38vw,10rem);height:clamp(1.75rem,2.5vw,2rem);margin-top:-4px;margin-bottom:-4px;display:block}[data-theme=dark] .header__logo{filter:invert()}.header__right{align-items:center;gap:.25rem;display:flex}.header__icon-btn{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.header__icon-btn:hover{background:var(--color-hover);color:var(--color-text)}.header__icon-btn svg{width:1.125rem;height:1.125rem}.header__user-menu{margin-left:.25rem;position:relative}.header__avatar{background:var(--color-primary);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;width:2rem;height:2rem;transition:opacity var(--transition-fast), box-shadow var(--transition-fast);letter-spacing:0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.header__avatar:hover{opacity:.9;box-shadow:0 0 0 3px var(--color-primary-light)}.header__dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-lg);z-index:200;padding:.75rem;animation:.15s cubic-bezier(.4,0,.2,1) dropdownIn;position:absolute;top:calc(100% + .5rem);right:0}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.header__dropdown-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.125rem;padding:0 .25rem;font-size:.875rem;font-weight:600;overflow:hidden}.header__dropdown-email{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;padding:0 .25rem;font-size:.75rem;overflow:hidden}.header__dropdown-divider{border:none;border-top:1px solid var(--color-border);margin:.5rem 0}.header__dropdown-item{border-radius:var(--radius-sm);width:100%;color:var(--color-text);cursor:pointer;text-align:left;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;padding:.5rem;font-size:.875rem;font-weight:500;display:flex}.header__dropdown-item:hover{background:var(--color-hover)}.header__dropdown-item--danger{color:var(--color-danger)}.header__dropdown-item--danger:hover{background:var(--color-danger-light);color:var(--color-danger-hover)}@media (width<=767px){.header{left:0;right:0}}@media (width<=640px){.header{padding:0 .875rem}.header__left{gap:.625rem}.header__logo{max-width:min(42vw,8rem);height:clamp(1.5rem,6vw,1.75rem)}}.header__notifications,.header__notification-trigger{position:relative}.header__notification-badge{border:2px solid var(--color-surface);background:var(--color-danger);color:#fff;text-align:center;border-radius:999px;min-width:1rem;height:1rem;padding:0 .25rem;font-size:.625rem;font-weight:700;line-height:.75rem;position:absolute;top:0;right:0}.header__notification-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(24rem,100vw - 1.5rem);box-shadow:var(--shadow-lg);z-index:200;animation:.15s cubic-bezier(.4,0,.2,1) dropdownIn;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden}.header__notification-heading{border-bottom:1px solid var(--color-border);color:var(--color-text);justify-content:space-between;align-items:center;padding:.875rem 1rem;font-size:.875rem;display:flex}.header__notification-heading button{color:var(--color-primary);cursor:pointer;background:0 0;border:0;font-size:.75rem;font-weight:600}.header__notification-list{max-height:min(28rem,100vh - 6rem);overflow-y:auto}.header__notification-item{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;text-align:left;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.header__notification-item:hover{background:var(--color-hover)}.header__notification-item--unread{background:var(--color-primary-light)}.header__notification-dot{background:var(--color-text-secondary);border-radius:50%;flex:none;width:.625rem;height:.625rem;margin-top:.3rem}.header__notification-dot--quote_action_required{background:var(--color-warning)}.header__notification-dot--quote_completed{background:var(--color-success)}.header__notification-dot--quote_failed{background:var(--color-danger)}.header__notification-dot--quote_customer_followup{background:var(--color-warning)}.header__notification-copy{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.header__notification-copy strong{font-size:.8125rem}.header__notification-copy>span{color:var(--color-text-secondary);font-size:.75rem;line-height:1.4}.header__notification-copy small{color:var(--color-text-muted,var(--color-text-secondary));font-size:.6875rem}.header__notification-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:2rem 1rem;font-size:.8125rem}@media (width<=640px){.header__notification-panel{width:auto;position:fixed;top:4.25rem;left:.75rem;right:.75rem}}.sidebar__drawer-header{display:none}.sidebar{top:var(--header-height);width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:90;flex-direction:column;transition:left .25s cubic-bezier(.4,0,.2,1),width .22s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;overflow:hidden}body.phone-sidebar-left .sidebar{left:var(--phone-sidebar-reserved-width,3.25rem)}.sidebar--collapsed{width:var(--sidebar-collapsed-width)}.sidebar--collapsed .sidebar__label{display:none}.sidebar__nav{flex-direction:column;flex:1;padding:.625rem 0;display:flex;overflow:hidden auto}.sidebar__group+.sidebar__group{margin-top:.35rem}.sidebar__section{border-top:1px solid var(--color-border);margin-top:auto;padding:.5rem 0 .25rem}.sidebar__section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);opacity:.6;white-space:nowrap;padding:.4rem 1rem .2rem;font-size:.65rem;font-weight:700;display:block;overflow:hidden}.sidebar--collapsed .sidebar__section-label{display:none}.sidebar__section-toggle{border-radius:var(--radius-sm);width:calc(100% - 1rem);min-height:2.25rem;color:var(--color-text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.75rem;margin:0 .5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:650;transition:background .15s,color .15s;display:flex;position:relative}.sidebar__section-toggle:hover{background:var(--color-hover);color:var(--color-text)}.sidebar__section-icon{flex:none;width:1.125rem;height:1.125rem;display:inline-flex}.sidebar__section-icon svg{width:100%;height:100%}.sidebar__section-toggle-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__section-chevron{flex:none;width:.875rem;height:.875rem;margin-left:auto;transition:transform .18s}.sidebar__section--open .sidebar__section-chevron{transform:rotate(90deg)}.sidebar__section-content{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .2s,opacity .15s;display:grid}.sidebar__section-content>.sidebar__list{overflow:hidden}.sidebar__section--open .sidebar__section-content{opacity:1;grid-template-rows:1fr}.sidebar--collapsed .sidebar__section-toggle{justify-content:center;padding-left:0;padding-right:0}.sidebar--collapsed .sidebar__section-toggle-label,.sidebar--collapsed .sidebar__section-chevron{display:none}.sidebar__list{margin:0;padding:0;list-style:none}.sidebar__link{border-radius:var(--radius-sm);color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar__link:hover{background:var(--color-hover);color:var(--color-text)}.sidebar__link--active{background:var(--color-primary-light);color:var(--color-primary);font-weight:650;position:relative}.sidebar__link--active:before{content:"";background:var(--color-primary);border-radius:0 3px 3px 0;width:3px;height:60%;position:absolute;top:50%;left:-.5rem;transform:translateY(-50%)}.sidebar__link--active:hover{background:var(--color-primary-light);color:var(--color-primary)}.sidebar__icon{flex-shrink:0;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;display:flex}.sidebar__icon svg{width:100%;height:100%}.sidebar__label{text-overflow:ellipsis;transition:opacity .15s;overflow:hidden}.sidebar__badge{background:var(--color-danger);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:auto;padding:0 .35rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.sidebar--collapsed .sidebar__badge{min-width:1rem;height:1rem;padding:0 .2rem;font-size:.5625rem;position:absolute;top:-.1rem;right:.2rem}.sidebar__item{margin-bottom:2px;padding:0 .5rem;position:relative}.sidebar--collapsed .sidebar__item:after,.sidebar--collapsed .sidebar__section-toggle:after{content:attr(data-tooltip);left:calc(var(--sidebar-collapsed-width) + 4px);background:var(--color-text);color:var(--color-surface);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;z-index:200;box-shadow:var(--shadow-md);padding:.3125rem .625rem;font-size:.8125rem;font-weight:500;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.sidebar--collapsed .sidebar__item:hover:after,.sidebar--collapsed .sidebar__item:focus-within:after,.sidebar--collapsed .sidebar__section-toggle:hover:after,.sidebar--collapsed .sidebar__section-toggle:focus-visible:after{opacity:1}.sidebar--collapsed,.sidebar--collapsed .sidebar__nav{overflow:visible}.sidebar--collapsed .sidebar__nav{background:var(--color-surface);border-right:1px solid var(--color-border)}.sidebar--collapsed .sidebar__link--active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 22%, transparent)}@media (width<=767px){.sidebar{z-index:300;border-right:none;transition:transform .3s cubic-bezier(.4,0,.2,1);top:0;left:0;overflow:visible;transform:translate(-105%);box-shadow:2px 0 8px #00000014,8px 0 24px #0000001f,24px 0 48px #00000014;width:min(300px,85vw)!important}.sidebar.sidebar--mobile-open{transform:translate(0)}.sidebar__drawer-header{height:var(--header-height);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1rem 0 1.25rem;display:flex}.sidebar__drawer-brand{color:var(--color-text);letter-spacing:-.01em;font-size:1rem;font-weight:700}.sidebar__close-btn{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.sidebar__close-btn:hover{background:var(--color-hover);color:var(--color-text)}.sidebar__close-btn svg{width:1.125rem;height:1.125rem}.sidebar--collapsed .sidebar__label,.sidebar--mobile-open .sidebar__label{display:block}.sidebar__item{margin-bottom:2px;padding:0 .75rem}.sidebar__link{border-radius:var(--radius-md);gap:.875rem;padding:.875rem 1rem;font-size:.9375rem;position:relative}.sidebar__link--active{background:var(--color-primary-light);color:var(--color-primary)}.sidebar__link--active:before{content:"";background:var(--color-primary);border-radius:0 3px 3px 0;width:3px;height:1.5rem;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar__icon{width:1.25rem;height:1.25rem}.sidebar__nav{-webkit-overflow-scrolling:touch;padding:.75rem 0;overflow-y:auto}.sidebar__section-toggle{width:calc(100% - 1.5rem);min-height:2.75rem;margin-left:.75rem;margin-right:.75rem;padding:.75rem 1rem;font-size:.875rem}.sidebar--collapsed .sidebar__section-toggle{justify-content:flex-start;padding:.75rem 1rem}.sidebar--collapsed .sidebar__section-toggle-label,.sidebar--collapsed .sidebar__section-chevron{display:initial}.sidebar--collapsed .sidebar__section-chevron{margin-left:auto}.sidebar--collapsed .sidebar__nav{background:0 0;border-right:0;overflow-y:auto}.sidebar--collapsed .sidebar__item:after,.sidebar--collapsed .sidebar__section-toggle:after{display:none}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar__section-content,.sidebar__section-chevron{transition:none}}[data-theme=dark] .sidebar{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .sidebar__drawer-header{border-color:var(--color-border)}@media (width<=767px){[data-theme=dark] .sidebar{box-shadow:2px 0 8px #0006,8px 0 24px #00000080,24px 0 48px #0006}}.layout{--phone-sidebar-collapsed-width:3.25rem;--phone-sidebar-expanded-width:26.75rem;--phone-sidebar-reserved-width:var(--phone-sidebar-collapsed-width);background:var(--color-background);width:100%;min-height:100vh}body.phone-sidebar-open .layout{--phone-sidebar-reserved-width:var(--phone-sidebar-expanded-width)}.layout__main{margin-top:0;margin-left:var(--sidebar-width);margin-right:var(--phone-sidebar-reserved-width);width:calc(100% - var(--sidebar-width) - var(--phone-sidebar-reserved-width));padding:1.75rem;padding-top:calc(var(--header-height) + 1.75rem);transition:margin-left var(--transition-base), margin-right .25s cubic-bezier(.4, 0, .2, 1), width var(--transition-base);box-sizing:border-box}.layout__main--expanded{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width) - var(--phone-sidebar-reserved-width))}.layout__main--no-phone{width:calc(100% - var(--sidebar-width));margin-right:0}.layout__main--no-phone.layout__main--expanded{width:calc(100% - var(--sidebar-collapsed-width))}body.phone-sidebar-left .layout__main{margin-left:calc(var(--sidebar-width) + var(--phone-sidebar-reserved-width));margin-right:0}body.phone-sidebar-left .layout__main--expanded{margin-left:calc(var(--sidebar-collapsed-width) + var(--phone-sidebar-reserved-width))}.layout__backdrop{display:none}@media (width<=767px){.layout__main,.layout__main--expanded,body.phone-sidebar-left .layout__main,body.phone-sidebar-left .layout__main--expanded{width:100%;padding:1rem;padding-top:calc(var(--header-height) + 1rem);margin-left:0;margin-right:0}.layout__backdrop{-webkit-backdrop-filter:blur(3px);z-index:250;background:#0f0f148c;animation:.25s cubic-bezier(.4,0,.2,1) forwards backdropIn;display:block;position:fixed;inset:0}}@keyframes backdropIn{0%{opacity:0;-webkit-backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(3px)}}.layout__page-transition{width:100%;animation:.18s forwards page-fade-in}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
