.app-nav{position:fixed;top:0;left:0;bottom:0;min-height:100vh;width:250px;background:var(--surface);border-right:1px solid var(--border-color);box-shadow:2px 0 8px #00000014;z-index:1000;transition:all .3s ease;overflow:hidden}.app-nav.collapsed{width:70px}.nav-container{display:flex;flex-direction:column;height:100%;padding:0}.nav-header{padding:.75rem .5rem .5rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem}.nav-brand{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:1rem;border-radius:var(--radius-md);transition:background .2s;white-space:nowrap;overflow:hidden}.app-nav.collapsed .nav-brand{justify-content:center;padding:.5rem}.nav-brand:hover{background:var(--background)}.nav-brand-icon{font-size:1.5rem;flex-shrink:0}.nav-brand-name{overflow:hidden;text-overflow:ellipsis}.nav-project-ctx{margin:.375rem .75rem .25rem;padding:.5rem .625rem;background:var(--background);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:0}.nav-project-customer{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-project-site{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}.nav-project-change{display:inline-block;margin-top:.375rem;font-size:.7rem;color:var(--primary-color);text-decoration:none;font-weight:500}.nav-project-change:hover{text-decoration:underline}.nav-project-none{display:block;font-size:.75rem;color:var(--text-secondary);text-decoration:none;font-style:italic;padding:.125rem 0}.nav-project-none:hover{color:var(--primary-color)}.nav-project-icon-collapsed{display:flex;justify-content:center;padding:.25rem 0;font-size:1.125rem;text-decoration:none}.nav-links{display:flex;flex-direction:column;gap:.25rem;padding:0 .5rem;flex:1;overflow-y:auto;overflow-x:hidden}.nav-link{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;text-decoration:none;color:var(--text-secondary);border-radius:var(--radius-md);transition:all .2s ease;font-size:.9375rem;font-weight:500;white-space:nowrap;overflow:hidden}.app-nav.collapsed .nav-link{justify-content:center;padding:.875rem .5rem}.nav-link-icon{font-size:1.375rem;flex-shrink:0;line-height:1}.nav-link-label{flex:1;overflow:hidden;text-overflow:ellipsis}.nav-link:hover{background:var(--background);color:var(--primary-color);transform:translate(4px)}.app-nav.collapsed .nav-link:hover{transform:translate(0) scale(1.05)}.nav-link.active{background:var(--primary-color);color:#fff}.nav-link.active:hover{background:#1d4ed8}.nav-section-label{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);padding:.4rem .75rem .3rem;margin:.5rem .25rem 0;border-top:1px solid var(--border-color)}.nav-section-label-admin{color:var(--danger-color);border-top-color:#fecaca}.nav-section{margin:0 .25rem .25rem;padding:0}.nav-group{margin:.125rem 0;border-radius:var(--radius-md);transition:background .15s}.nav-group.open{background:rgba(var(--brand-primary-rgb),.13);padding-bottom:.25rem}.nav-group-header{display:flex;align-items:center;gap:.625rem;width:100%;border:none;background:transparent;cursor:pointer;padding:.5rem .6rem;font-family:inherit;font-size:.875rem;font-weight:600;letter-spacing:normal;text-transform:none;color:var(--text-primary);border-radius:var(--radius-sm);transition:background .15s,color .15s}.nav-group-header:hover{background:var(--background);color:var(--text-primary)}.nav-group.open>.nav-group-header{color:var(--text-primary)}.nav-group.open>.nav-group-header:hover{background:rgba(var(--brand-primary-rgb),.18)}.nav-group-header-icon{font-size:1.1rem;flex-shrink:0;line-height:1}.nav-group-header-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.nav-group-chevron{font-size:.7rem;flex-shrink:0;color:var(--text-secondary);transition:transform .15s}.nav-group.open>.nav-group-header .nav-group-chevron{transform:rotate(90deg)}.nav-group-items{margin:.125rem .4rem .125rem 1.05rem;padding-left:.4rem;border-left:2px solid rgba(var(--brand-primary-rgb),.5);display:flex;flex-direction:column;gap:.0625rem}.nav-group-items .nav-link{padding:.5rem .6rem;font-size:.875rem;gap:.625rem}.nav-group-items .nav-link .nav-link-icon{font-size:1.1rem}.nav-group-items .nav-link:hover{transform:none}.nav-group-items .nav-link.active{box-shadow:-.4rem 0 0 -.05rem var(--primary-color)}.nav-section-admin .nav-group.open{background:#ef44441a}.nav-section-admin .nav-group.open>.nav-group-header:hover{background:#ef444429}.nav-section-admin .nav-group-items{border-left-color:#ef444480}.app-nav.collapsed .nav-group.open{background:transparent;padding-bottom:0}.app-nav.collapsed .nav-group-items{margin:0;padding-left:0;border-left:none}.app-nav.collapsed .nav-group-items .nav-link{justify-content:center;padding:.875rem .5rem}.nav-user{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem 1rem;margin:0 .5rem .25rem;border-radius:var(--radius-md);border-top:1px solid var(--border-color);overflow:hidden}.nav-user-top{display:flex;align-items:center;gap:.625rem}.nav-user.collapsed{align-items:center;padding:.75rem .5rem}.nav-user.collapsed .nav-user-top{justify-content:center}.nav-user-avatar{width:30px;height:30px;border-radius:50%;background:var(--brand-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.nav-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.nav-user-name{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-user-role{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.nav-user-verticals{font-size:.68rem;color:var(--brand-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.nav-signout-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:#fff;border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);font-size:.85rem;font-weight:500;padding:.45rem .7rem;border-radius:var(--radius-sm);transition:color .15s,background .15s,border-color .15s}.nav-signout-icon{font-size:1rem;line-height:1}.nav-signout-label{white-space:nowrap}.nav-signout-btn:hover{color:var(--danger-color);background:#fef2f2;border-color:#fca5a5}.nav-sidebar.collapsed .nav-signout-label{display:none}.nav-sidebar.collapsed .nav-signout-btn{padding:.4rem .5rem}.nav-collapse-toggle{display:flex;align-items:center;gap:.75rem;padding:1.5rem 1.25rem;margin:.5rem .5rem 1rem;border:none;background:var(--background);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-weight:500;transition:all .2s ease;white-space:nowrap;overflow:hidden;border-top:1px solid var(--border-color)}.app-nav.collapsed .nav-collapse-toggle{justify-content:center;padding:1rem .5rem}.nav-collapse-toggle:hover{background:var(--primary-color);color:#fff;transform:translate(4px)}.app-nav.collapsed .nav-collapse-toggle:hover{transform:translate(0) scale(1.05)}.collapse-icon{font-size:1.25rem;flex-shrink:0;line-height:1}.collapse-label{flex:1;overflow:hidden;text-overflow:ellipsis}.app-nav::-webkit-scrollbar{width:6px}.app-nav::-webkit-scrollbar-track{background:transparent}.app-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.app-nav::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.mobile-top-bar{display:none;position:fixed;top:0;left:0;right:0;height:52px;background:var(--surface);border-bottom:1px solid var(--border-color);box-shadow:0 1px 4px #00000012;z-index:900;align-items:center;padding:0 1rem;gap:.5rem}.mobile-brand{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.9375rem;color:var(--text-primary);text-decoration:none;flex-shrink:0}.mobile-top-site{flex:1;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;background:none;border:none;cursor:pointer;font-family:inherit;padding:.25rem .375rem;border-radius:var(--radius-sm);transition:background .15s,color .15s}.mobile-top-site:hover,.mobile-top-site.active{background:#f0fdf4;color:#15803d}.mobile-top-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.mobile-avatar{width:28px;height:28px;border-radius:50%;background:var(--brand-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.mobile-signout{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);font-size:.8rem;font-weight:500;padding:.3rem .6rem;border-radius:var(--radius-sm);white-space:nowrap}.mobile-signout-icon{font-size:.95rem;line-height:1}.mobile-signout:hover{color:var(--danger-color);background:#fef2f2;border-color:#fca5a5}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--surface);border-top:1px solid var(--border-color);box-shadow:0 -2px 8px #00000014;z-index:900;flex-direction:row;align-items:stretch;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text-secondary);background:none;border:none;cursor:pointer;font-family:inherit;padding:6px 2px;transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent;overflow:hidden}.bottom-tab:hover,.bottom-tab.open{background:var(--background);color:var(--primary-color)}.bottom-tab.active{color:var(--primary-color)}.bottom-tab.active .bottom-tab-icon{background:#2563eb1a;border-radius:12px}.bottom-tab-icon{font-size:1.25rem;line-height:1;padding:2px 10px;transition:background .15s}.bottom-tab-label{font-size:.625rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px}.mobile-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border:none;background:transparent;color:var(--text-primary);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:var(--radius-sm);margin-left:-.5rem;flex-shrink:0;-webkit-tap-highlight-color:transparent}.mobile-menu-trigger:hover,.mobile-menu-trigger:focus-visible{background:var(--background);outline:none}.mobile-drawer-backdrop{position:fixed;inset:0;background:#00000073;z-index:1200;display:flex;align-items:stretch;justify-content:flex-start;animation:mobileDrawerFadeIn .18s ease}.mobile-drawer{width:min(86vw,360px);max-width:100vw;height:100%;background:var(--surface);box-shadow:4px 0 24px #0000002e;display:flex;flex-direction:column;animation:mobileDrawerSlideIn .22s cubic-bezier(.2,.8,.2,1);padding-top:env(safe-area-inset-top,0px)}@keyframes mobileDrawerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobileDrawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.mobile-drawer-backdrop,.mobile-drawer{animation:none}}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.mobile-drawer-title{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;color:var(--text-primary)}.mobile-drawer-close{width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:var(--radius-sm)}.mobile-drawer-close:hover,.mobile-drawer-close:focus-visible{background:var(--background);color:var(--text-primary);outline:none}.mobile-drawer-user{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:rgba(var(--brand-primary-rgb),.08);border-bottom:1px solid var(--border-color);flex-shrink:0}.mobile-drawer-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.mobile-drawer-user-info{display:flex;flex-direction:column;min-width:0}.mobile-drawer-user-name{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-drawer-user-role{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.mobile-drawer-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.5rem 0 calc(env(safe-area-inset-bottom,0px) + 1rem)}.mobile-drawer-group{padding:.5rem}.mobile-drawer-group-header{display:flex;align-items:center;gap:.5rem;margin:.25rem .5rem .375rem;padding:0;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.mobile-drawer-group-icon{font-size:.95rem;line-height:1}.mobile-drawer-group-items{display:flex;flex-direction:column;gap:.0625rem}.mobile-drawer-link{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.625rem .75rem;border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);font-size:.9375rem;font-weight:500;-webkit-tap-highlight-color:transparent}.mobile-drawer-link:hover,.mobile-drawer-link:focus-visible{background:var(--background);outline:none}.mobile-drawer-link.active{background:var(--primary-color);color:#fff}.mobile-drawer-link-icon{font-size:1.2rem;line-height:1;flex-shrink:0}.mobile-drawer-link-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-group--pinned{background:rgba(var(--brand-primary-rgb),.08);border-radius:var(--radius-md);margin:.25rem .5rem .5rem;padding:.5rem}.mobile-drawer-divider{margin:.75rem 1rem .25rem;padding-top:.75rem;border-top:1px solid var(--border-color);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.mobile-drawer-divider--admin{color:var(--danger-color);border-top-color:#fecaca}.mobile-drawer-group--admin .mobile-drawer-group-header{color:var(--danger-color)}.mobile-drawer-signout{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:calc(100% - 1rem);margin:.75rem .5rem 0;min-height:44px;padding:.625rem .75rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer}.mobile-drawer-signout:hover,.mobile-drawer-signout:focus-visible{color:var(--danger-color);background:#fef2f2;border-color:#fca5a5;outline:none}@media(max-width:768px){.app-nav{display:none}.mobile-top-bar,.mobile-bottom-nav{display:flex}}@media(min-width:769px){.mobile-menu-trigger,.mobile-drawer-backdrop{display:none}}.home-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.home-split>.card{display:flex;flex-direction:column}.home-split>.card>.card-body{flex:1}@media(max-width:900px){.home-split{grid-template-columns:1fr}}.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid var(--brand-primary);border-radius:var(--radius-md);padding:.625rem 1rem;margin-bottom:1rem}.resume-banner-left{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;min-width:0}.resume-banner-label{font-size:.75rem;font-weight:600;color:#16a34a;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.resume-banner-project{font-size:.9rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.375rem}.resume-banner-sep{color:var(--text-secondary);font-weight:400}.resume-banner-meta{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.resume-banner-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.resume-banner-dismiss{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:0 .25rem;line-height:1}.resume-banner-dismiss:hover{color:var(--text-primary)}.home-search-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.875rem}.home-search-wrapper{position:relative;flex:1}.home-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.9rem;pointer-events:none}.home-search-input{width:100%;padding:.5rem 2.25rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9rem;background:var(--surface);color:var(--text-primary);transition:border-color .15s;box-sizing:border-box}.home-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.home-search-clear{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.home-search-clear:hover{color:var(--text-primary)}.customer-list{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.5rem}.customer-entry{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);transition:border-color .15s}.customer-entry.expanded{border-color:var(--primary-color)}.customer-entry-header{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;cursor:pointer;user-select:none;transition:background .1s}.customer-entry-header:hover{background:#f8fafc}.customer-expand-icon{font-size:.65rem;color:var(--text-secondary);width:1rem;flex-shrink:0}.customer-entry-info{flex:1;min-width:0;display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.customer-entry-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.customer-entry-count{font-size:.78rem;color:var(--text-secondary);background:#f1f5f9;border-radius:999px;padding:.1rem .5rem;white-space:nowrap}.customer-entry-actions{display:flex;gap:.375rem;flex-shrink:0}.project-list{border-top:1px solid var(--border-color);background:#fafbfc;padding:.375rem .5rem .5rem 2.25rem;display:flex;flex-direction:column;gap:.25rem}.project-list-loading,.project-list-empty{font-size:.82rem;color:var(--text-secondary);padding:.375rem 0;display:flex;align-items:center}.project-entry{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .625rem;border-radius:var(--radius-sm);transition:background .1s;cursor:pointer}.project-entry:hover{background:#eff6ff}.project-entry-arrow{font-size:1rem;color:var(--text-secondary);flex-shrink:0;transition:color .1s,transform .1s}.project-entry:hover .project-entry-arrow{color:var(--primary-color);transform:translate(2px)}.project-entry-info{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;min-width:0}.project-entry-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.project-entry-meta{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.page-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.global-settings-btn{white-space:nowrap;min-width:fit-content}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.module-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;text-decoration:none;color:var(--text-primary);transition:all .2s ease;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow-sm)}.module-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.module-icon{font-size:2.5rem;margin-bottom:1rem}.module-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.module-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.modal-content{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:80vw;max-width:min(80vw,1400px);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.4;font-size:.875rem}.modal-body .form-grid{gap:.75rem 1rem}.modal-body .form-group{margin-bottom:0}.modal-body .form-label{margin-bottom:.25rem;font-size:.875rem}.modal-body .form-input{padding:.5rem .75rem;font-size:.875rem}@media(max-width:768px){.page-header{display:none!important}.module-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}.module-card{padding:1rem}.module-icon{font-size:1.75rem;margin-bottom:.5rem}.module-title{font-size:.9rem}.module-description{font-size:.75rem}.customer-row-buttons{display:flex;gap:.375rem;flex-shrink:0}.new-customer-btn,.new-project-btn{display:none!important}}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1rem;margin-top:1.5rem}.category-card.drag-over{outline:2px dashed var(--brand-primary);outline-offset:2px;background:#f0fdf4}.category-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .2s ease;break-inside:avoid;margin-bottom:1.5rem}.category-card:hover{box-shadow:var(--shadow-md)}.category-header{background:var(--background);padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem;cursor:pointer;user-select:none;transition:background .2s}.category-header:hover{background:#f1f5f9}.section-drag-handle{cursor:grab;color:var(--text-secondary);font-size:1rem;padding:0 4px;flex-shrink:0;user-select:none;line-height:1}.section-drag-handle:active{cursor:grabbing}.category-collapse-icon{font-size:.875rem;color:var(--text-secondary);min-width:1rem}.category-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);flex:1}.category-tasks{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.task-item{border-left:3px solid transparent;padding:.5rem .75rem;border-radius:var(--radius-md);transition:all .2s}.task-item:hover{background:var(--background);border-left-color:var(--primary-color)}.task-item.na{opacity:.5;background:#f8f9fa}.task-row{display:flex;align-items:center;gap:.75rem}.task-checkbox,.subtask-checkbox{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--success-color);flex-shrink:0}.task-checkbox:disabled,.subtask-checkbox:disabled{cursor:not-allowed;opacity:.5}.task-name,.subtask-name{flex:1;font-size:.9375rem;color:var(--text-primary);line-height:1.4}.task-name.completed,.subtask-name.completed{text-decoration:line-through;color:var(--text-secondary)}.na-btn{padding:.25rem .625rem;font-size:.75rem;font-weight:600;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.subtasks-list{margin-top:.5rem;margin-left:2rem;padding-left:1rem;border-left:2px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.subtask-item{display:flex!important;flex-direction:row!important;align-items:center;gap:.625rem;padding:.375rem 0;transition:all .2s}.subtask-item.na{opacity:.5}.subtask-name{font-size:.875rem}.task-item.v2{border:1px solid var(--border-color);border-radius:6px;margin:.3rem .55rem;background:#fff;transition:background .1s,border-color .1s,box-shadow .1s;padding:0;border-left:3px solid transparent}.task-item.v2:hover{background:#fafbfd;border-color:#cbd5e1;box-shadow:0 1px 2px #0f172a0a}.task-item.v2.selected{background:#eff6ff;border-color:#60a5fa;border-left-color:#2563eb;box-shadow:0 0 0 1px #2563eb26}.task-item.v2.selected:hover{background:#dbeafe}.task-item.v2.overdue{background:#fef2f2;border-color:#fca5a5;border-left-color:#fca5a5}.task-item.v2.is-custom{background:#fdf6e3}.task-item.v2.is-expanded{border-left-color:var(--brand-primary);border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:1px dashed var(--border-color);margin-bottom:0}.task-row.v2{display:grid;grid-template-columns:24px 24px auto minmax(180px,1.2fr) minmax(180px,1.4fr) auto;align-items:center;gap:.5rem;padding:.5rem .7rem;font-size:.85rem;min-height:44px;cursor:pointer}.task-row.v2.audience-engineer,.task-row.v2.audience-customer{cursor:default}.task-row.v2 input,.task-row.v2 button,.task-row.v2 a,.task-row.v2 select,.task-row.v2 textarea{-webkit-user-drag:none}.task-row.v2 .cell-drag{color:#94a3b8;cursor:grab;text-align:center;font-size:1rem;user-select:none;display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:32px;width:100%;border-radius:4px;background:transparent;transition:background .1s,color .1s;-webkit-user-drag:element}.task-row.v2:hover .cell-drag{color:#475569;background:#f1f5f9}.task-row.v2 .cell-drag:active{cursor:grabbing;background:#e2e8f0;color:#1e293b}.task-row.v2 .cell-check{accent-color:var(--brand-primary);width:16px;height:16px;cursor:pointer;margin:0;opacity:0;transition:opacity .12s ease}.task-item.v2:hover .task-row.v2 .cell-check,.task-row.v2 .cell-check:checked,.task-row.v2 .cell-check.is-active{opacity:1}.task-row.v2 .cell-status .status-pill-v2{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .55rem .18rem .5rem;border-radius:999px;font-size:.74rem;font-weight:600;cursor:pointer;border:1px solid transparent;width:fit-content;white-space:nowrap;user-select:none}.task-row.v2 .cell-status .status-pill-v2:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.85}.task-row.v2 .cell-status .status-pill-v2:after{content:"▾";font-size:.55rem;margin-left:.2rem;opacity:.55}.status-pill-v2.not_started{background:#f1f5f9;color:#475569}.status-pill-v2.in_progress{background:#dbeafe;color:#1e40af}.status-pill-v2.blocked{background:#fee2e2;color:#991b1b}.status-pill-v2.done{background:#dcfce7;color:#166534}.status-pill-v2.na{background:#fef3c7;color:#92400e}.task-row.v2 .cell-name{display:flex;align-items:center;gap:.4rem;min-width:0}.task-row.v2 .cell-name .name-expand{color:#64748b;font-size:.7rem;cursor:pointer;width:14px;text-align:center;user-select:none;flex-shrink:0;transition:transform .12s}.task-item.v2.is-expanded .name-expand{transform:rotate(90deg);color:var(--brand-primary-dark)}.task-row.v2 .cell-name .name-text{color:var(--text-primary);flex:1 1 auto;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;word-break:break-word;line-height:1.3}.task-row.v2 .cell-name .name-text.done{color:var(--text-secondary);text-decoration:line-through}.task-row.v2 .cell-name .name-text.na{color:var(--text-secondary);font-style:italic}.task-row.v2 .cell-name .icon-chip{color:var(--text-secondary);font-size:.78rem;cursor:pointer;flex-shrink:0;padding:.1rem .3rem;border-radius:4px;background:#f1f5f9}.task-row.v2 .cell-name .icon-chip:hover{background:#e2e8f0;color:var(--text-primary)}.task-row.v2 .cell-name .custom-chip{background:#fef3c7;color:#92400e;font-weight:600;font-size:.7rem;padding:.1rem .4rem;border-radius:4px;flex-shrink:0;white-space:nowrap}.task-row.v2 .cell-notes{color:var(--text-secondary);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:.15rem 0;min-width:0}.task-row.v2 .cell-notes:hover{color:var(--text-primary);background:#f8fafc;border-radius:4px;padding:.15rem .4rem;margin:0 -.4rem}.task-row.v2 .cell-notes.empty{color:#cbd5e1;font-style:italic}.task-row.v2 .cell-notes .has-link{color:var(--primary-color);text-decoration:underline}.task-row.v2 .cell-notes--wrap{white-space:pre-wrap;overflow:visible;text-overflow:clip;line-height:1.35;padding:.2rem .5rem;align-self:stretch;border:1px solid transparent;border-radius:4px}.task-row.v2 .cell-notes--wrap:hover{background:#f8fafc;border-color:var(--border-color);margin:0;padding:.2rem .5rem;color:var(--text-primary)}.task-row.v2 .cell-controls-stack{display:flex;align-items:stretch;justify-content:flex-end;gap:.55rem;flex-shrink:0}.task-row.v2 .cell-controls-stack .stack{display:flex;flex-direction:column;gap:.25rem;justify-content:center;min-width:0}.task-row.v2 .cell-controls-stack .stack-link{align-items:flex-start;min-width:116px}.task-row.v2 .cell-controls-stack .stack-dates{align-items:stretch;min-width:130px}.task-row.v2 .cell-controls-stack .stack-owner{align-items:flex-end;min-width:110px}.task-row.v2 .cell-controls-stack .stack-dates input[type=date]{font:inherit;font-size:.72rem;color:var(--text-primary);background:#fff;border:1px solid var(--border-color);padding:.2rem .35rem;border-radius:4px;cursor:pointer;width:100%}.task-row.v2 .cell-controls-stack .stack-dates input[type=date]:hover{border-color:#94a3b8}.task-row.v2 .cell-controls-stack .stack-dates input[type=date]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb26}.task-row.v2 .cell-controls-stack .stack-dates.overdue input[type=date]:not(:focus){background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.task-row.v2 .cell-controls-stack .stack-dates .date-input-wrap{position:relative;display:block;width:100%}.task-row.v2 .cell-controls-stack .stack-dates .date-input-wrap.is-empty:before{content:attr(data-placeholder);position:absolute;left:.45rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary);font-size:.72rem;font-style:italic;background:#fff;padding:0 .15rem;z-index:1;border-radius:2px}.task-row.v2 .cell-controls-stack .stack-dates .date-input-wrap.is-empty:focus-within:before{display:none}.task-row.v2 .cell-controls-stack .stack-dates .date-input-wrap.is-empty input[type=date]::-webkit-datetime-edit{opacity:0}.task-row.v2 .cell-controls-stack .stack-dates .date-input-wrap.is-empty input[type=date]:focus::-webkit-datetime-edit{opacity:1}.task-row.v2 .cell-controls-stack .stack-btn{font:inherit;font-size:.72rem;font-weight:600;padding:.2rem .55rem;background:#fff;color:var(--text-secondary);border:1px dashed var(--border-color);border-radius:4px;cursor:pointer;white-space:nowrap;text-align:left}.task-row.v2 .cell-controls-stack .stack-btn:hover{border-style:solid;border-color:#94a3b8;color:var(--text-primary)}.task-row.v2 .cell-controls-stack .stack-btn--add{background:#dcfce7;color:#166534;border-color:#bbf7d0;border-style:solid}.task-row.v2 .cell-controls-stack .stack-btn--add:hover{background:#bbf7d0}.task-row.v2 .cell-controls-stack .stack-btn--history{background:#f1f5f9;color:#475569;border-color:#cbd5e1;border-style:solid}.task-row.v2 .cell-controls-stack .stack-btn--history:hover{background:#e2e8f0;color:var(--text-primary)}.task-row.v2 .cell-controls-stack .stack-row{display:flex;gap:.25rem;align-items:stretch}.task-row.v2 .cell-controls-stack .stack-row>.stack-btn{flex:1 1 auto}.task-row.v2 .cell-notes-inline-editor{font:inherit;font-size:.82rem;line-height:1.35;color:var(--text-primary);background:#fff;border:1px solid var(--primary-color);border-radius:4px;padding:.3rem .5rem;width:100%;min-height:2.2rem;resize:vertical;box-shadow:0 0 0 2px #2563eb1f;outline:none;align-self:stretch;font-family:inherit}.task-row.v2 .cell-notes-inline-editor:focus{border-color:var(--primary-color)}.task-row.v2 .cell-dates{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.task-row.v2 .cell-dates input[type=date]{font:inherit;font-size:.7rem;color:var(--text-primary);background:transparent;border:1px solid transparent;padding:.18rem .25rem;border-radius:4px;width:100%;min-width:0;cursor:pointer}.task-row.v2 .cell-dates input[type=date]:hover{background:#f1f5f9;border-color:var(--border-color)}.task-row.v2 .cell-dates input[type=date]:focus{outline:none;background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb26}.task-row.v2 .cell-dates .arrow{color:#cbd5e1;font-size:.7rem;flex-shrink:0}.task-row.v2 .cell-dates.overdue input[type=date]:not(:focus){background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.task-row.v2 .cell-dates.overdue:after{content:"⚠";margin-left:.1rem;color:#b91c1c}.owner-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .45rem;border-radius:4px;font-size:.68rem;font-weight:600;cursor:pointer;border:1px solid;white-space:nowrap;flex-shrink:0;user-select:none}.owner-chip.internal{background:#ecfccb;color:#3f6212;border-color:#bef264}.owner-chip.customer{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.owner-chip:hover{filter:brightness(.97)}.task-item.v2.customer-owned{border-left-color:#c4b5fd;background:#faf5ff}.task-item.v2.customer-owned:hover{background:#f5edff}.task-row.v2 .cell-assignee{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary);cursor:pointer;min-width:0;overflow:hidden}.task-row.v2 .cell-assignee .avatar{width:22px;height:22px;border-radius:50%;background:#ddd6fe;color:#5b21b6;font-weight:700;font-size:.65rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.task-row.v2 .cell-assignee .avatar.green{background:#bbf7d0;color:#166534}.task-row.v2 .cell-assignee .avatar.blue{background:#bfdbfe;color:#1e40af}.task-row.v2 .cell-assignee .avatar.orange{background:#fed7aa;color:#9a3412}.task-row.v2 .cell-assignee .avatar.empty{background:#f1f5f9;color:#94a3b8;border:1px dashed #cbd5e1}.task-row.v2 .cell-assignee .a-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subtasks-v2{position:relative;background:#f1f5fb;border-top:1px solid var(--border-color);padding:.35rem 0 .45rem 2.5rem;display:flex;flex-direction:column;gap:.25rem}.subtasks-v2:before{content:"";position:absolute;left:1.15rem;top:0;bottom:.55rem;width:2px;background:var(--brand-primary);opacity:.4;border-radius:1px}.subtasks-v2 .task-item.v2{position:relative;margin:.1rem .55rem .1rem 0;border-radius:4px}.subtasks-v2 .task-item.v2:before{content:"";position:absolute;left:-1.35rem;top:50%;width:1.15rem;height:2px;background:var(--brand-primary);opacity:.4}.subtasks-v2 .task-row.v2{padding:.3rem .5rem;font-size:.8rem;min-height:30px}.subtask-count-chip{display:inline-flex;align-items:center;gap:.15rem;font-size:.68rem;font-weight:600;line-height:1;padding:.15rem .4rem;border-radius:999px;background:#eef2f7;color:var(--text-secondary);border:1px solid var(--border-color);white-space:nowrap}.subtask-count-chip.complete{background:rgba(var(--brand-primary-rgb),.16);color:#4d7c0f;border-color:rgba(var(--brand-primary-rgb),.5)}.subtasks-v2 .task-row.v2 .cell-status .status-pill-v2{font-size:.7rem;padding:.12rem .45rem}.subtasks-v2 .task-row.v2 .cell-name .name-text{font-size:.82rem}.task-row.v2.audience-engineer,.task-row.v2.audience-customer{grid-template-columns:auto 1fr auto;grid-template-areas:"status name assignee";column-gap:.5rem}.task-row.v2.audience-engineer .cell-drag,.task-row.v2.audience-engineer .cell-check,.task-row.v2.audience-customer .cell-drag,.task-row.v2.audience-customer .cell-check{display:none}.task-row.v2.audience-engineer .cell-status,.task-row.v2.audience-customer .cell-status{grid-area:status}.task-row.v2.audience-engineer .cell-name,.task-row.v2.audience-customer .cell-name{grid-area:name;min-width:0}.task-row.v2.audience-engineer .cell-controls-stack,.task-row.v2.audience-customer .cell-controls-stack{grid-area:assignee;justify-content:flex-end}.task-row.v2.audience-engineer .stack-link,.task-row.v2.audience-engineer .stack-dates,.task-row.v2.audience-customer .stack-link,.task-row.v2.audience-customer .stack-dates{display:none}.task-row.v2.audience-engineer .stack-owner,.task-row.v2.audience-customer .stack-owner{min-width:0}.checklist-grid .task-row.v2{grid-template-columns:auto auto 1fr;grid-template-areas:"drag status name" "drag notes notes" "drag controls controls";row-gap:.3rem}.checklist-grid .task-row.v2 .cell-drag{grid-area:drag}.checklist-grid .task-row.v2 .cell-check{display:none}.checklist-grid .task-row.v2 .cell-status{grid-area:status}.checklist-grid .task-row.v2 .cell-name{grid-area:name;min-width:0}.checklist-grid .task-row.v2 .cell-notes{grid-area:notes;font-size:.74rem;padding:.2rem .4rem}.checklist-grid .task-row.v2 .cell-controls-stack{grid-area:controls;flex-wrap:wrap;justify-content:flex-start}.checklist-grid .task-row.v2 .cell-assignee .a-name{display:none}.checklist-grid .task-row.v2.audience-engineer,.checklist-grid .task-row.v2.audience-customer{grid-template-areas:"status name assignee";row-gap:0}.cell-name .stamp{flex-basis:100%;font-size:.7rem;color:var(--text-secondary);font-weight:400;line-height:1.2;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-name .stamp.stamp--done{color:#166534}.cell-name .stamp.stamp--na{color:#92400e}.task-row.v2.audience-engineer .cell-name,.task-row.v2.audience-customer .cell-name{flex-wrap:wrap;align-items:flex-start}.info-bubble-v2{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:50%;cursor:pointer;font-size:.95rem;padding:0;flex-shrink:0;box-shadow:0 1px 2px #0f172a0f;transition:transform .08s,background .1s}.info-bubble-v2:hover{background:#dbeafe;transform:scale(1.06)}.info-bubble-v2:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}@media(max-width:720px){.task-row.v2{grid-template-columns:20px 20px 90px 1fr auto;grid-template-areas:"drag check status name assignee" "drag check status notes notes" "drag check status dates dates";row-gap:.15rem;column-gap:.4rem;padding:.5rem .55rem}.task-row.v2 .cell-drag{grid-area:drag}.task-row.v2 .cell-check{grid-area:check}.task-row.v2 .cell-status{grid-area:status;align-self:start}.task-row.v2 .cell-name{grid-area:name}.task-row.v2 .cell-notes{grid-area:notes;font-size:.74rem;padding:0}.task-row.v2 .cell-dates{grid-area:dates}.task-row.v2 .cell-assignee{grid-area:assignee;justify-content:flex-end}.task-row.v2 .cell-assignee .a-name{display:none}.filter-bar-v2 .filter-search{min-width:100%}}.status-popover-v2{position:absolute;top:calc(100% + 4px);left:0;z-index:20;background:#fff;border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-md);padding:.25rem;display:flex;flex-direction:column;gap:.15rem;min-width:140px}.status-popover-v2 .status-pill-v2{width:100%;justify-content:flex-start}.add-row-v2{display:flex;align-items:center;gap:.4rem;padding:.45rem .85rem;color:var(--text-secondary);font-size:.82rem;background:#fafbfd;cursor:text;border-top:1px solid var(--border-color)}.add-row-v2:hover{background:#f1f5f9}.add-row-v2 input{flex:1;border:none;outline:none;background:transparent;font:inherit;font-size:.85rem;padding:0}.add-row-v2 input::placeholder{color:var(--text-secondary);font-style:italic}.add-row-v2 .plus{font-size:1rem}.add-row-v2 kbd{background:#fff;border:1px solid var(--border-color);border-bottom-width:2px;border-radius:3px;padding:0 .3rem;font-size:.7rem;font-family:inherit}.add-row-v2 .hint{margin-left:auto;color:var(--text-secondary);font-size:.75rem}.toolbar-v2{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:.4rem .6rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.65rem;box-shadow:0 1px 2px #0f172a0a}.toolbar-v2 .btn{padding:.3rem .65rem;font-size:.8rem}.toolbar-divider{width:1px;align-self:stretch;background:var(--border-color);margin:0 .15rem}.toolbar-v2 .view-toggle{display:inline-flex;border:1px solid var(--border-color);border-radius:5px;overflow:hidden;background:#fff}.toolbar-v2 .view-toggle button{padding:.25rem .55rem;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);font:inherit;font-size:.85rem}.toolbar-v2 .view-toggle button.on{background:var(--primary-color);color:#fff;font-weight:700}.filter-select-chip{border:1px solid #cbd5e1;background:#fff;color:var(--text-secondary);padding:.2rem .5rem;border-radius:999px;cursor:pointer;appearance:none;-webkit-appearance:none;font:inherit;font-size:.78rem;max-width:160px}.filter-select-chip.on{background:var(--brand-primary);color:#166534;border-color:var(--brand-primary);font-weight:600}.filter-bar-v2{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;padding:.55rem .7rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.65rem;box-shadow:0 1px 2px #0f172a0a}.filter-bar-v2 .filter-chip{border:1px solid #cbd5e1;background:#fff;color:var(--text-secondary);padding:.25rem .65rem;border-radius:999px;cursor:pointer;font:inherit;font-size:.78rem}.filter-bar-v2 .filter-chip:hover{background:#f8fafc}.filter-bar-v2 .filter-chip.on{background:var(--brand-primary);color:#166534;border-color:var(--brand-primary);font-weight:600}.filter-bar-v2 .filter-search{flex:1;min-width:180px;border:1px solid var(--border-color);border-radius:6px;padding:.3rem .55rem;font-size:.82rem}.filter-bar-v2 .filter-counts{color:var(--text-secondary);font-size:.75rem;margin-left:auto}.section-header-v2{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:linear-gradient(0deg,#f8fafc,#fff);border-bottom:1px solid var(--border-color);cursor:pointer;user-select:none}.section-header-v2 .section-drag{color:var(--text-secondary);cursor:grab;font-size:.95rem;padding:0 .25rem}.section-header-v2 .section-title-v2{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-header-v2 .section-meta{font-size:.78rem;color:var(--text-secondary);display:flex;gap:.5rem;align-items:center}.section-header-v2 .progress-pill{background:var(--brand-primary);color:#166534;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700}.section-header-v2 .progress-pill.partial{background:#fde68a;color:#78350f}.section-header-v2 .progress-pill.empty{background:#f1f5f9;color:#64748b}.files-panel-v2{background:var(--surface);border:1px solid var(--border-color);border-radius:8px;margin-bottom:.85rem;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.files-panel-v2>.fp-summary{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;background:linear-gradient(0deg,#f0fdf4,#fff);border-bottom:1px solid var(--border-color);cursor:pointer;user-select:none}.files-panel-v2>.fp-summary .chev{color:var(--text-secondary);font-size:.85rem;transition:transform .1s}.files-panel-v2.is-open>.fp-summary .chev{transform:rotate(90deg)}.files-panel-v2>.fp-summary .fp-title{font-weight:700;flex:1}.files-panel-v2>.fp-summary .fp-meta{font-size:.78rem;color:var(--text-secondary)}.files-panel-v2 .fp-body{padding:.75rem .85rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:720px){.files-panel-v2 .fp-body{grid-template-columns:1fr}}.files-panel-v2 .fp-list{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:.4rem}.files-panel-v2 .fp-toolbar{display:flex;align-items:center;gap:.4rem;padding:.3rem .45rem;border-bottom:1px solid #f1f5f9;margin-bottom:.3rem;flex-wrap:wrap}.files-panel-v2 .fp-search{flex:1;border:1px solid var(--border-color);border-radius:4px;padding:.2rem .4rem;font-size:.75rem;min-width:120px}.files-panel-v2 .fp-tab{padding:.18rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;background:#f1f5f9;color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap}.files-panel-v2 .fp-tab.on{background:var(--brand-primary);color:#166534;border-color:var(--brand-primary)}.files-panel-v2 .fp-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border-radius:4px}.files-panel-v2 .fp-row:hover{background:#f8fafc}.files-panel-v2 .fp-row .filename{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-panel-v2 .fp-row .filename a{color:inherit;text-decoration:none}.files-panel-v2 .fp-row .filename a:hover{text-decoration:underline}.files-panel-v2 .fp-row .meta{color:var(--text-secondary);font-size:.72rem;white-space:nowrap}.files-panel-v2 .fp-row .who-pill{padding:0 .4rem;border-radius:3px;font-size:.66rem;font-weight:600;white-space:nowrap}.files-panel-v2 .fp-row .who-pill.pm{background:#ecfccb;color:#365314}.files-panel-v2 .fp-row .who-pill.customer{background:#ede9fe;color:#5b21b6}.files-panel-v2 .fp-row .who-pill.shared{background:#e0f2fe;color:#075985}.files-panel-v2 .fp-upload{border:2px dashed #cbd5e1;border-radius:6px;padding:1rem;text-align:center;color:var(--text-secondary);font-size:.85rem;display:flex;flex-direction:column;gap:.4rem;align-items:center;justify-content:center}.files-panel-v2 .fp-upload input{width:100%;font-size:.8rem;padding:.25rem .4rem;border:1px solid var(--border-color);border-radius:4px}.files-panel-v2 .fp-upload .fp-upload-row{width:100%;display:flex;gap:.35rem;flex-wrap:wrap}.files-panel-v2 .fp-upload .fp-upload-row>*{flex:1 1 120px}.task-chevron{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);font-size:.75rem;line-height:1;flex-shrink:0;padding:0;transition:transform .12s ease,background .12s}.task-chevron:hover{background:var(--background);color:var(--text-primary)}.task-chevron.is-open{transform:rotate(90deg)}.status-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;border-radius:999px;border:1px solid transparent;cursor:pointer;white-space:nowrap;user-select:none;line-height:1.3}.status-pill[disabled]{cursor:not-allowed;opacity:.6}.status-pill--not_started{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.status-pill--in_progress{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.status-pill--blocked{background:#fee2e2;color:#991b1b;border-color:#fecaca}.status-pill--done{background:#dcfce7;color:#166534;border-color:#bbf7d0}.status-pill--na{background:#fef3c7;color:#92400e;border-color:#fde68a}.date-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.7rem;font-weight:500;border-radius:999px;background:var(--background);color:var(--text-secondary);border:1px dashed var(--border-color);cursor:pointer;white-space:nowrap}.date-pill:hover{color:var(--text-primary);border-style:solid}.date-pill--set{background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}.date-pill--overdue{background:#fef3c7;color:#92400e;border-color:#fde68a}.task-expand-panel{margin-top:.5rem;padding:.5rem .7rem .55rem;border-top:1px dashed var(--border-color);display:flex;flex-direction:column;gap:.6rem}.task-expand-panel .field-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.2rem}.task-notes-textarea{width:100%;min-height:60px;resize:vertical;padding:.45rem .55rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font:inherit;font-size:.85rem;background:var(--surface);color:var(--text-primary)}.task-notes-textarea:focus{outline:2px solid var(--primary-color);outline-offset:-2px;border-color:var(--primary-color)}.task-notes-preview{font-size:.85rem;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;line-height:1.45}.task-notes-preview a{color:var(--primary-color);text-decoration:underline}.task-dates-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.task-dates-row input[type=date]{padding:.3rem .4rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.8rem;background:var(--surface)}.task-history{font-size:.75rem;color:var(--text-secondary)}.task-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.18rem}.task-history-list li{display:flex;gap:.4rem;padding:.15rem 0;border-bottom:1px solid #f1f5f9}.task-history-list li:last-child{border-bottom:none}.task-history-list .h-when{color:var(--text-secondary);white-space:nowrap}.task-history-list .h-who{color:var(--text-primary);font-weight:600;white-space:nowrap}.task-history-list .h-what{color:var(--text-secondary)}.task-history-more{margin-top:.2rem;background:transparent;border:none;color:var(--primary-color);cursor:pointer;padding:0;font-size:.72rem;font-weight:600}.task-history-more:hover{text-decoration:underline}.task-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:.85rem;height:1.1rem;cursor:grab;color:#94a3b8;font-size:.85rem;line-height:1;user-select:none;flex-shrink:0;opacity:0;transition:opacity .12s,color .12s}.task-item:hover .task-drag-handle{opacity:1}.task-drag-handle:hover{color:var(--text-primary)}.task-drag-handle:active{cursor:grabbing}.task-drop-marker{height:2px;background:var(--primary-color);margin:0 .5rem;border-radius:1px;box-shadow:0 0 0 2px #2563eb26}.empty-section-drop{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:.75rem;margin-top:.5rem;color:var(--text-secondary);font-size:.8rem;text-align:center;transition:all .15s}.empty-section-drop.is-over{border-color:var(--primary-color);background:#eff6ff;color:var(--primary-color)}.task-bulk-checkbox{width:.95rem;height:.95rem;cursor:pointer;accent-color:var(--primary-color);flex-shrink:0;opacity:0;transition:opacity .12s}.task-item:hover .task-bulk-checkbox,.task-item .task-bulk-checkbox:checked,.task-item .task-bulk-checkbox.is-active{opacity:1}.bulk-action-bar{position:sticky;top:48px;z-index:25;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.55rem .85rem;margin:0 0 .75rem;background:#1e293b;color:#f8fafc;border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:.85rem}.bulk-action-bar .bulk-count{font-weight:700;padding:.15rem .6rem;background:#ffffff1f;border-radius:999px}.bulk-action-bar .bulk-divider{width:1px;height:1.2rem;background:#fff3}.bulk-action-bar .btn{padding:.3rem .65rem;font-size:.78rem}.bulk-action-bar .bulk-spacer{flex:1}.inline-add-task{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.4rem .55rem;border:1px dashed var(--border-color);border-radius:var(--radius-md);background:var(--surface);transition:border-color .12s,background .12s}.inline-add-task:focus-within{border-style:solid;border-color:var(--primary-color);background:#fff}.inline-add-task input{flex:1;border:none;outline:none;background:transparent;font:inherit;font-size:.9rem;color:var(--text-primary)}.inline-add-task input::placeholder{color:var(--text-secondary)}.inline-add-task .plus{color:var(--text-secondary);font-weight:700;flex-shrink:0}.linked-chip-row{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.linked-chip-label{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linked-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;font-size:.72rem;font-weight:500;border-radius:999px;background:#f0f9ff;color:#0c4a6e;border:1px solid #bae6fd;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .12s,border-color .12s}.linked-chip:hover{background:#e0f2fe;border-color:#7dd3fc;text-decoration:none}.linked-chip-status{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:0 .35rem;border-radius:999px;background:#0c4a6e1a;color:#0c4a6e}.linked-chip-refresh{border:none;background:transparent;cursor:pointer;font-size:.75rem;padding:0 .15rem;opacity:.6;transition:opacity .12s}.linked-chip-refresh:hover{opacity:1}.task-name-edit{flex:1;font:inherit;font-size:.9375rem;border:1px solid var(--primary-color);border-radius:var(--radius-sm);padding:.15rem .4rem;background:var(--surface);outline:none}.info-bubble-wrapper{position:relative;display:inline-flex;align-items:center;margin-left:.375rem;vertical-align:middle}.info-bubble{cursor:pointer;font-size:.875rem;line-height:1;user-select:none;opacity:.7;transition:opacity .15s}.info-bubble:hover{opacity:1}.info-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293b;color:#f1f5f9;padding:.625rem .75rem;border-radius:.5rem;font-size:.8rem;line-height:1.5;min-width:200px;max-width:320px;width:max-content;z-index:200;box-shadow:0 4px 16px #0003;pointer-events:none}.info-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e293b}.info-bubble-wrapper:hover .info-tooltip{display:block}.info-tooltip-text{margin:0 0 .375rem;white-space:pre-wrap;word-break:break-word}.info-tooltip-text:last-child{margin-bottom:0}.info-tooltip-link{margin:0;font-size:.75rem;color:#93c5fd;word-break:break-all;border-top:1px solid rgba(255,255,255,.1);padding-top:.375rem;margin-top:.375rem}@media(max-width:768px){.checklist-grid{grid-template-columns:1fr;gap:.75rem}.form-grid{grid-template-columns:1fr}.subtasks-list{margin-left:1rem;padding-left:.75rem}.category-header{padding:.875rem 1rem}.category-tasks{padding:.75rem}}@media print{.btn,.na-btn{display:none!important}.category-card,.task-item{break-inside:avoid;page-break-inside:avoid}}.checklist-progress-card{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem}.checklist-progress-chart-row{display:flex;align-items:center;gap:2rem;flex:0 0 auto;min-width:0}.checklist-progress-actions{display:flex;flex-direction:column;gap:1rem}@media(max-width:768px){.checklist-progress-card{flex-direction:column;gap:1.25rem}.checklist-progress-chart-row{width:100%;align-items:center;gap:1rem}.progress-circle-wrap{width:140px!important;height:140px!important;flex-shrink:0}.progress-circle-wrap svg{width:140px!important;height:140px!important}.progress-circle-wrap>div{font-size:inherit}.progress-circle-wrap>div>div:first-child{font-size:1.75rem!important}.progress-circle-wrap>div>div:last-child{font-size:.8rem!important}.checklist-progress-chart-row>div:last-child{flex:1;min-width:0}.checklist-progress-actions{width:100%}}.task-assignees{display:flex;align-items:center;gap:.25rem;margin-top:.2rem;flex-wrap:wrap}.assignee-chip{display:inline-flex;align-items:center;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:.72rem;font-weight:600;border:1.5px solid #c4b5fd;padding:.1rem .5rem;cursor:default;flex-shrink:0;user-select:none;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.assignee-chip--sm{font-size:.65rem;padding:.05rem .4rem;max-width:110px}.assignee-chip--overflow{background:#f3f4f6;color:#6b7280;border-color:#e5e7eb;padding:.1rem .4rem;max-width:none}.owner-badge{display:inline-flex;align-items:center;border-radius:999px;font-size:.62rem;font-weight:700;padding:.1rem .45rem;user-select:none;cursor:default;flex-shrink:0}.owner-badge--internal{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.owner-badge--customer{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.owner-cycle-btn{display:inline-flex;align-items:center;border-radius:999px;font-size:.62rem;font-weight:700;padding:.1rem .5rem;margin-top:.15rem;border:1px dashed #d1d5db;background:transparent;color:#9ca3af;cursor:pointer;transition:border-color .15s,background .15s,color .15s;line-height:1.4;white-space:nowrap}.owner-cycle-btn:hover{border-color:#9ca3af;color:#64748b;border-style:solid}.owner-cycle-btn--internal{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;border-style:solid}.owner-cycle-btn--internal:hover{background:#e2e8f0;border-color:#94a3b8}.owner-cycle-btn--customer{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-style:solid}.owner-cycle-btn--customer:hover{background:#dcfce7;border-color:#86efac}.owner-cycle-btn--sm{font-size:.58rem;padding:.05rem .4rem}.assign-btn{font-size:.68rem;color:var(--text-secondary);background:none;border:1px dashed var(--border-color);border-radius:var(--radius-sm);padding:.1rem .4rem;cursor:pointer;line-height:1.4;transition:border-color .15s,color .15s}.assign-btn:hover{border-color:#a78bfa;color:#5b21b6}.assign-btn--empty{flex-shrink:0}@keyframes task-row-deep-link-pulse{0%{box-shadow:0 0 rgba(var(--brand-primary-rgb),.7);background:rgba(var(--brand-primary-rgb),.18)}60%{box-shadow:0 0 0 6px rgba(var(--brand-primary-rgb),0);background:rgba(var(--brand-primary-rgb),.08)}to{box-shadow:0 0 rgba(var(--brand-primary-rgb),0);background:transparent}}.task-row-deep-link-flash{animation:task-row-deep-link-pulse 2.4s ease-out;border-radius:6px}.workflow-stepper{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem auto;padding:1.5rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 2px 4px #0000000d;max-width:800px}.workflow-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .3s ease}.workflow-step .step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;transition:all .3s ease}.workflow-step .step-label{font-size:.875rem;font-weight:500;text-align:center;transition:all .3s ease}.workflow-step.active .step-number{background:var(--primary-color);color:#fff;box-shadow:0 2px 8px #2563eb4d}.workflow-step.active .step-label{color:var(--primary-color)}.workflow-step.complete .step-number{background:#22c55e;color:#fff;box-shadow:0 2px 8px #22c55e4d}.workflow-step.complete .step-label{color:#22c55e}.workflow-step.locked .step-number{background:#e5e7eb;color:#9ca3af;border:2px dashed #d1d5db}.workflow-step.locked .step-label{color:#9ca3af}.workflow-arrow{font-size:1.5rem;color:#d1d5db;margin:0 .5rem}.field-lock-overlay{position:absolute;inset:0;background:#ffffffd9;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;cursor:not-allowed;border-radius:var(--radius-md);z-index:10}.field-lock-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#6b7280f2;color:#fff;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;box-shadow:0 2px 8px #00000026;pointer-events:none}@media(max-width:768px){.workflow-stepper{flex-direction:column;gap:1.5rem}.workflow-arrow{transform:rotate(90deg);margin:0}.workflow-step .step-label{font-size:.8rem}}.customer-info-layout{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}.customer-info-fields{display:flex;flex-direction:column;gap:1rem}.case-fields-card{background:var(--background);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;min-width:350px;box-shadow:0 2px 4px #0000000d}@media(max-width:1024px){.customer-info-layout{grid-template-columns:1fr}.case-fields-card{min-width:100%}}.issue-with-summary-layout{display:grid;grid-template-columns:auto 1fr;gap:2rem;margin-bottom:1.5rem}.issue-checkboxes-section{display:flex;flex-direction:column}.issue-checkboxes-section>label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.issue-summary-section{display:flex;flex-direction:column;height:100%}.issue-summary-section>label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.issue-summary-section textarea{flex:1;width:100%;min-height:400px;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s}.issue-summary-section textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,max-content));gap:.75rem 2rem;margin-top:.5rem;align-items:start}.checkbox-item{display:flex;align-items:center;gap:0;padding:0;min-height:auto}.checkbox-item input[type=checkbox]{display:none}.checkbox-item label{cursor:pointer;font-weight:500;margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.4;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:20px;background:var(--surface);transition:all .2s ease;user-select:none;white-space:nowrap}.checkbox-item label:hover{border-color:var(--primary-color);background:#2563eb0d}.checkbox-item input[type=checkbox]:checked+label{background:var(--primary-color);color:#fff;border-color:var(--primary-color);font-weight:600}.checkbox-item input[type=checkbox]:checked+label:hover{background:#1d4ed8;border-color:#1d4ed8}.radio-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;align-items:flex-start!important;text-align:left!important;width:100%}.radio-option{display:flex;align-items:center;gap:.5rem;justify-content:flex-start!important;text-align:left!important;width:auto}.radio-option input[type=radio]{width:18px;height:18px;cursor:pointer;flex-shrink:0;margin:0}.radio-option label{cursor:pointer;font-weight:400;margin:0;text-align:left!important}.priority-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.info-toggle{cursor:pointer;color:var(--primary-color);margin-left:.5rem;font-size:1.2em;user-select:none}.info-toggle:hover{opacity:.8}.priority-info{margin-top:.75rem;font-size:.85em;background:var(--background);padding:10px;border-radius:var(--radius-md);line-height:1.6;border:1px solid var(--border-color)}.priority-info strong{color:var(--text-primary)}.saas-host-section{margin-top:.75rem}.sub-label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary);font-size:.9em}.saas-host-section select{width:100%;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background:var(--surface);cursor:pointer;transition:border-color .2s,box-shadow .2s}.saas-host-section select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.other-input{width:100%;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.other-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.warning-section{background:#fff3cd;border-left:4px solid #ffc107}.warning-section h2{border-bottom-color:#ffc107}.warning-section ol{margin:10px 0;padding-left:25px;line-height:1.6}.button-row{display:flex;justify-content:center;gap:10px;margin-top:15px;flex-wrap:wrap}.info-box{background:#e8f4f8;border-left:4px solid var(--primary-color);padding:15px;margin-top:1.5rem;border-radius:var(--radius-md)}.info-box p{margin:.5rem 0;font-size:.95em;line-height:1.6}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1rem}.form-row-three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1rem}@media(max-width:1200px){.form-row-three{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.form-row,.form-row-three{grid-template-columns:1fr}}.field-group.full-width{width:100%;margin-bottom:1.5rem}.field-group.full-width label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem}.field-group.full-width textarea,.field-group.full-width input{width:100%;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s}.field-group.full-width textarea:focus,.field-group.full-width input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.section{margin-bottom:1.5rem}.section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.form-group{text-align:left}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;text-align:left}.form-group input[type=text],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-family:inherit;background:var(--surface);transition:border-color .2s,box-shadow .2s,background-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:60px}.form-group input[disabled],.form-group select[disabled],.form-group textarea[disabled],.field-group.full-width input[disabled],.field-group.full-width textarea[disabled]{background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 10px,#e5e7eb 10px 20px);color:#9ca3af;cursor:not-allowed;opacity:.7}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem;margin-bottom:2rem}@media(max-width:768px){.issue-with-summary-layout,.checkbox-grid,.priority-grid{grid-template-columns:1fr}.actions{flex-direction:column}.btn{width:100%}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:500;font-size:.875rem;color:var(--text-primary)}.form-input{padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-input[type=date],.form-input[type=time]{cursor:pointer}textarea.form-input{resize:vertical;min-height:100px;font-family:inherit}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.card.collapsible .card-header{user-select:none}.card.collapsible .card-header:hover{background-color:var(--background)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.progress-grid{grid-template-columns:repeat(2,1fr)!important;gap:1rem!important}.sr-row-status{min-width:120px!important;flex-shrink:1}.sr-row>div:first-child{min-width:0}}.task-item,.issue-item{position:relative}.status-completed{border-left-color:#22c55e!important;background:#f0fdf4}.status-in-progress{border-left-color:#3b82f6!important;background:#eff6ff}.status-testing{border-left-color:#f59e0b!important;background:#fffbeb}.status-blocked,.status-open{border-left-color:#ef4444!important;background:#fef2f2}.status-resolved{border-left-color:#22c55e!important;background:#f0fdf4}.status-closed{border-left-color:#6b7280!important;background:#f9fafb}.severity-low{border-left-color:#22c55e!important}.severity-medium{border-left-color:#f59e0b!important}.severity-high{border-left-color:#ef4444!important}.severity-critical{border-left-color:#dc2626!important;background:#fef2f2}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.75rem;color:var(--text-secondary);cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.modal-close:hover{background:var(--hover-bg);color:var(--text-primary)}.modal-body{padding:1rem 1.5rem;overflow-y:auto}.modal-body p{margin:0;color:var(--text-primary);line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.sr-row{display:flex;gap:1rem;align-items:flex-start}.sr-row-status{min-width:150px}@media(max-width:640px){.sr-row{flex-direction:column;gap:.75rem}.sr-row-status{min-width:0;width:100%}}.radio-container{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}.radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;white-space:nowrap;line-height:1}.radio-option input[type=radio]{width:auto;margin:0;cursor:pointer;vertical-align:middle;flex-shrink:0}.radio-option span{font-size:.9375rem;color:var(--text-primary);line-height:1.5;padding-top:1px}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}@media(max-width:1024px){.form-grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.form-grid-3{grid-template-columns:1fr}}.urgent-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;border:2px solid #ef4444;background:transparent;color:#ef4444;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;user-select:none}.urgent-pill:hover{background:#fee2e2}.urgent-pill.active{background:#ef4444;color:#fff;box-shadow:0 4px 6px -1px #ef44444d}.urgent-pill input[type=checkbox]{display:none}.card-body-urgent{background:linear-gradient(to bottom,#fef2f2,#fff);border-left:4px solid #ef4444}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media(max-width:768px){.form-grid-2{grid-template-columns:1fr}}.checklist-builder-page{max-width:1400px;margin:0 auto;font-family:inherit}.checklist-builder-page *{font-family:inherit}.builder-controls{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--surface);border-radius:var(--radius-md);box-shadow:0 2px 4px #0000000d}.control-group{display:flex;gap:.5rem;flex-wrap:wrap}.control-group .btn{font-size:.875rem}.categories-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.25rem;margin-bottom:2rem}.category-card{background:var(--surface);border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014;transition:all .3s ease;cursor:move}.category-card:hover{box-shadow:0 4px 12px #0000001f}.category-card.dragging{opacity:.5;transform:scale(.95)}.category-card.collapsed .category-card-body,.category-card.collapsed .category-card-footer{display:none}.category-card.collapsed .collapse-icon{transform:rotate(-90deg)}.category-card-header{background:linear-gradient(135deg,var(--primary-color),#1d4ed8);color:#fff;padding:1rem;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;align-items:center;gap:.75rem}.drag-handle{cursor:grab;color:#ffffffb3;font-size:1.1rem;user-select:none;-webkit-user-select:none;flex-shrink:0;touch-action:none;pointer-events:auto}.drag-handle:active{cursor:grabbing}.collapse-icon{cursor:pointer;transition:transform .2s ease;color:#ffffffe6;font-size:.9rem}.collapse-icon:hover{color:#fff}.category-input{flex:1;padding:.5rem .75rem;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:1.1rem;font-weight:600;resize:none;overflow:hidden;min-height:2.5rem;white-space:pre-wrap;word-wrap:break-word;font-family:inherit;pointer-events:auto}.category-input::placeholder{color:#ffffffb3}.category-input:focus{outline:none;background:#fff3;border-color:#ffffff80}.remove-btn-icon{background:transparent;border:none;color:#fffc;cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:all .2s ease;font-size:1rem}.remove-btn-icon:hover{background:#fff3;color:#fff}.task-item .remove-btn-icon,.subtask-main-row .remove-btn-icon{color:#94a3b8}.task-item .remove-btn-icon:hover,.subtask-main-row .remove-btn-icon:hover{background:#ef44441a;color:#ef4444}.category-card-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.empty-tasks-message{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-style:italic;background:var(--background);border-radius:var(--radius-sm);border:2px dashed var(--border-color)}.task-item{background:var(--background);border:2px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem;transition:all .2s ease}.task-item:hover{border-color:var(--primary-color);box-shadow:0 2px 6px #2563eb1a}.task-item.dragging{opacity:.5;transform:scale(.98)}.task-item.collapsed .subtasks-list,.task-item.collapsed .add-subtask-btn,.task-item.collapsed .task-instructions{display:none}.task-item.collapsed .task-collapse-icon{transform:rotate(-90deg)}.task-header-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.task-header-row .drag-handle{color:var(--text-secondary)}.task-collapse-icon{cursor:pointer;transition:transform .2s ease;color:var(--text-secondary);font-size:.8rem}.task-collapse-icon:hover{color:var(--primary-color)}.task-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:1rem;font-weight:500;resize:none;overflow:hidden;min-height:2.25rem;white-space:pre-wrap;word-wrap:break-word;font-family:inherit}.task-input:focus{outline:none;border-color:var(--primary-color)}.instructions-toggle,.subtask-instructions-toggle{background:var(--surface);border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:.375rem}.instructions-toggle:hover,.subtask-instructions-toggle:hover{background:var(--background);border-color:var(--primary-color);color:var(--primary-color)}.instructions-toggle.active,.subtask-instructions-toggle.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.task-instructions,.subtask-instructions{display:none;width:100%;margin-top:.5rem;padding:.75rem;background:#f0f9ff;border:1px solid #bfdbfe;border-radius:var(--radius-sm)}.task-instructions.show,.subtask-instructions.show{display:block;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.instructions-field{margin-bottom:.75rem}.instructions-field:last-child{margin-bottom:0}.instructions-field label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.375rem}.instructions-notes{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background);color:var(--text-primary);font-size:.9rem;min-height:4rem;resize:vertical;font-family:inherit;white-space:pre-wrap;word-wrap:break-word}.instructions-notes:focus{outline:none;border-color:var(--primary-color)}.instructions-link{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background);color:var(--text-primary);font-size:.9rem;font-family:inherit;white-space:pre-wrap;word-wrap:break-word}.instructions-link:focus{outline:none;border-color:var(--primary-color)}.subtasks-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;margin-left:1.5rem}.subtask-item{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem;transition:all .2s ease}.subtask-item:hover{border-color:var(--primary-color);box-shadow:0 1px 4px #2563eb1a}.subtask-item.dragging{opacity:.5;transform:scale(.98)}.subtask-main-row{display:flex;align-items:center;gap:.5rem;width:100%}.subtask-main-row .drag-handle{color:var(--text-secondary)}.subtask-bullet{color:var(--text-secondary);font-size:1.2rem;font-weight:700}.subtask-input{flex:1;padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background);color:var(--text-primary);font-size:.9rem;resize:none;overflow:hidden;min-height:1.875rem;white-space:pre-wrap;word-wrap:break-word;font-family:inherit;width:100%}.subtask-input:focus{outline:none;border-color:var(--primary-color)}.subtask-instructions-toggle{padding:.375rem .5rem;font-size:.75rem}.subtask-instructions-toggle i{font-size:.875rem}.add-subtask-btn{background:var(--background);border:1px dashed var(--border-color);color:var(--text-secondary);padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;width:100%;margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.375rem}.add-subtask-btn:hover{background:var(--surface);border-color:var(--primary-color);color:var(--primary-color)}.category-card-footer{padding:.75rem 1rem;border-top:1px solid var(--border-color)}.add-task-btn{background:var(--primary-color);border:none;color:#fff;padding:.625rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease;width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}.add-task-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 2px 6px #2563eb4d}.add-task-btn i{font-size:.875rem}.notification{position:fixed;bottom:2rem;right:2rem;padding:.875rem 1.25rem;border-radius:var(--radius-md);box-shadow:0 4px 16px #0003;font-weight:600;font-size:.9rem;z-index:1000;animation:slideInUp .3s ease,slideOutDown .3s ease 3.7s;display:flex;align-items:center;gap:.625rem;max-width:400px}.notification-success{background:var(--success-color);color:#fff}.notification-error{background:var(--danger-color);color:#fff}.notification i{font-size:1.1rem;flex-shrink:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.empty-state{text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;margin-top:2rem}.empty-state-icon{font-size:4rem;color:var(--text-secondary);margin-bottom:1.5rem;opacity:.5}.empty-state h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.empty-state p{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem}.btn-lg{padding:.875rem 1.75rem;font-size:1.05rem}.import-preview{margin-top:1rem;padding:1rem;background:var(--background);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.import-preview strong{display:block;margin-bottom:.5rem;color:var(--text-primary)}.import-preview ul{margin:0;padding-left:1.5rem;list-style:disc}.import-preview li{margin:.25rem 0;color:var(--text-secondary);font-size:.9rem}@media(max-width:1200px){.categories-container{grid-template-columns:1fr}}@media(max-width:768px){.checklist-builder-page{padding:.5rem}.builder-controls{flex-direction:column;gap:.75rem}.control-group{width:100%}.control-group .btn{flex:1;font-size:.8rem;padding:.5rem .75rem}.categories-container{grid-template-columns:1fr;gap:1rem}.category-card-header{padding:.75rem}.category-input{font-size:1rem}.task-header-row{flex-wrap:wrap}.instructions-toggle{font-size:.75rem;padding:.375rem .5rem}.subtasks-list{margin-left:.75rem}.notification{bottom:1rem;right:1rem;left:1rem;max-width:none}}@media(max-width:480px){.drag-handle{display:none}.category-card-header{padding:.5rem;gap:.5rem}.category-input,.task-input{font-size:.9rem;padding:.375rem .5rem}.subtask-input{font-size:.85rem;padding:.25rem .375rem}.remove-btn-icon{padding:.375rem;font-size:.875rem}}.checklist-type-radios{display:flex;flex-direction:row;gap:.75rem;margin-bottom:1rem}.checklist-type-radio{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.checklist-type-radio:hover{border-color:var(--primary-color);background:#2563eb0d}.checklist-type-radio input[type=radio]{width:auto;margin:0;cursor:pointer;flex-shrink:0}.checklist-type-radio input[type=radio]:checked{accent-color:var(--primary-color)}.checklist-type-radio:has(input:checked){background:#2563eb1a;border-color:var(--primary-color)}.checklist-type-radio span{font-size:.9375rem;color:var(--text-primary)}.checkbox-container{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.checkbox-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-radius:var(--radius-sm);transition:background .15s ease;border:1px solid var(--border-color)}.checkbox-row:hover{background:#00000005;border-color:var(--primary-color)}.checkbox-item{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;flex:1}.custom-checkbox{position:relative;display:inline-block;width:20px;height:20px;flex-shrink:0;margin-top:.125rem}.custom-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.custom-checkbox .checkmark{position:absolute;top:0;left:0;height:20px;width:20px;background-color:#fff;border:2px solid #cbd5e1;border-radius:4px;transition:all .2s ease}.checkbox-item:hover .custom-checkbox .checkmark{border-color:var(--success-color)}.custom-checkbox input[type=checkbox]:checked~.checkmark{background-color:var(--success-color);border-color:var(--success-color)}.custom-checkbox .checkmark:after{content:"";position:absolute;display:none}.custom-checkbox input[type=checkbox]:checked~.checkmark:after{display:block}.custom-checkbox .checkmark:after{left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label{font-size:.9375rem;color:var(--text-primary);line-height:1.5}.na-btn{padding:.25rem .625rem;font-size:.75rem;font-weight:600;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.na-btn:hover{background:var(--background);border-color:var(--warning-color);color:var(--warning-color)}.na-btn.active{background:var(--warning-color);border-color:var(--warning-color);color:#fff}.custom-checkbox input[type=checkbox]:disabled~.checkmark{opacity:.5;cursor:not-allowed}.signature-container{width:100%;border:2px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:#fff;padding:0;margin:0}.signature-canvas{touch-action:none;cursor:crosshair;display:block}@media(max-width:1024px){.checkbox-container{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.checklist-management-card{display:none!important}.approvals-card-header{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important}.approvals-card-header-controls{flex-direction:column!important;align-items:flex-start!important;width:100%}.checklist-type-radios{flex-direction:row;flex-wrap:wrap;gap:.5rem;margin-bottom:0}.checklist-type-radio{padding:.5rem .75rem;font-size:.875rem}.checkbox-container{grid-template-columns:1fr}}.core-tenant-radio-group{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.core-tenant-radio-group--inline{flex-direction:row;flex-wrap:wrap;gap:.25rem 1rem}.core-tenant-radio-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;padding:.375rem .5rem;border-radius:var(--radius-sm);transition:background .15s}.core-tenant-radio-group label:hover{background:var(--background)}.core-tenant-radio-group input[type=radio]{accent-color:var(--brand-primary);width:1rem;height:1rem;flex-shrink:0}.core-tenant-products-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.core-tenant-product-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;background:#e0f2fe;color:#075985;border-radius:999px;font-size:.8125rem;font-weight:500}.core-tenant-address-prefill{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;font-style:italic}.preview-widget{position:fixed;width:400px;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 10px 30px #00000026;z-index:1000;overflow:hidden;transition:box-shadow .3s ease;user-select:none}.preview-widget:hover{box-shadow:0 15px 40px #0003}.preview-widget-header{background:linear-gradient(135deg,var(--primary-color),#1d4ed8);color:#fff;padding:1rem;display:flex;flex-direction:column;gap:.25rem;user-select:none}.preview-widget-header:active{cursor:grabbing!important}.preview-widget-header h3{margin:0;font-size:1.1rem;font-weight:600}.preview-widget-body{padding:1rem;background:var(--background);overflow:hidden}.canvas-container{width:100%;max-width:445px;margin:0 auto;border:2px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:#fff}.canvas-container canvas{display:block;width:100%;height:auto}.button-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem;margin-bottom:2rem}.form-group.full-width{grid-column:1 / -1}@media(max-width:1400px){.preview-widget{width:350px}.button-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.preview-widget{position:static;width:100%;margin-top:1.5rem;box-shadow:0 2px 8px #0000001a}}@media(max-width:768px){.button-grid,.form-grid{grid-template-columns:1fr}}.pd-align-row.form-grid>.form-group{display:flex;flex-direction:column}.pd-align-row.form-grid>.form-group>:last-child{margin-top:auto}.pay-builder-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.pay-builder-panel{min-width:0}.pay-checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.pay-checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.pay-checkbox-item:hover{background-color:var(--background);border-color:var(--primary-color)}.pay-checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.pay-checkbox-item span{font-size:.95rem;font-weight:500;color:var(--text-primary)}.info-bubble{display:inline-block;width:16px;height:16px;background-color:#3498db;color:#fff;border-radius:50%;text-align:center;line-height:16px;font-size:12px;font-weight:700;cursor:help;margin-left:5px;position:relative;vertical-align:middle}@media(max-width:1024px){.pay-builder-container{grid-template-columns:1fr}}@media(max-width:768px){.pay-checkbox-grid{grid-template-columns:1fr}}.tabs-container{display:flex;background:var(--background);border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;box-shadow:0 2px 4px #0000000d;margin-bottom:0}.tab-button{flex:1;padding:.875rem 1.25rem;background:var(--surface);border:none;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:.5rem;border-bottom:3px solid transparent}.tab-button:hover{background:var(--background);color:var(--text-primary)}.tab-button:focus{outline:2px solid var(--primary-color);outline-offset:-2px;z-index:1}.tab-button.active{background:var(--surface);color:var(--text-primary);border-bottom-color:var(--primary-color)}.tab-button.admin.active{border-bottom-color:#375e97;color:#375e97}.tab-button.rgb.active{border-bottom-color:#fb6542;color:#fb6542}.tab-button.ig.active{border-bottom-color:#fb0;color:#d69d00}.tab-button.ig12.active{border-bottom-color:#3f681c;color:#3f681c}.tab-content-wrapper{background:var(--surface);border-radius:0 0 var(--radius-md) var(--radius-md);padding:1.5rem;min-height:400px}.tab-content{display:none;animation:fadeIn .3s ease-in}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.compact-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.compact-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--background);border-radius:var(--radius-sm);text-decoration:none;color:var(--text-primary);font-weight:500;font-size:.9rem;transition:all .2s ease;border-left:3px solid transparent}.compact-link:hover{background:var(--border-color);transform:translate(3px);text-decoration:none;box-shadow:0 2px 4px #0000000d}.link-icon,.tab-icon{width:20px;text-align:center;flex-shrink:0;font-size:1rem;display:inline-block}.admin-content .compact-link{border-left-color:#375e97}.admin-content .compact-link:hover{background:#e8f0ff;border-left-color:#2d4d7a}.admin-content .compact-link i{color:#375e97}.rgb-content .compact-link{border-left-color:#fb6542}.rgb-content .compact-link:hover{background:#fff2f0;border-left-color:#d9492f}.rgb-content .compact-link i{color:#fb6542}.ig-content .compact-link{border-left-color:#fb0}.ig-content .compact-link:hover{background:#fffbf0;border-left-color:#d69d00}.ig-content .compact-link i{color:#fb0}.ig12-content .compact-link{border-left-color:#3f681c}.ig12-content .compact-link:hover{background:#f0f8f0;border-left-color:#2f4e15}.ig12-content .compact-link i{color:#3f681c}.section-divider-compact{grid-column:1 / -1;height:1px;background:var(--border-color);margin:.5rem 0}@media(max-width:768px){.tabs-container{flex-direction:column;border-radius:var(--radius-md)}.tab-button{padding:.75rem 1rem;font-size:.85rem;border-bottom:none;border-left:3px solid transparent}.tab-button.active{border-bottom:none;border-left-color:var(--primary-color)}.tab-button.admin.active{border-left-color:#375e97}.tab-button.rgb.active{border-left-color:#fb6542}.tab-button.ig.active{border-left-color:#fb0}.tab-button.ig12.active{border-left-color:#3f681c}.tab-content-wrapper{padding:1rem;min-height:300px}.compact-links{grid-template-columns:1fr;gap:.5rem}.compact-link{padding:.625rem .875rem;font-size:.875rem}.compact-link i{font-size:.9rem}}@media(max-width:480px){.tab-button{font-size:.8rem;gap:.375rem}.tab-button i{font-size:.9rem}}.two-column-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;margin-bottom:1.5rem}.column{display:flex;flex-direction:column;gap:1.5rem}.contact-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;transition:box-shadow .2s ease}.contact-card:hover{box-shadow:0 2px 8px #00000014}.btn-sm{padding:.5rem 1rem;font-size:.875rem}@media(max-width:1024px){.two-column-layout{grid-template-columns:1fr}}textarea.form-input{min-height:80px;resize:vertical;line-height:1.5}.info-box{background:#e8f4f8;border-left:4px solid #3498db;padding:1rem;margin-bottom:1.5rem;border-radius:4px}.info-box p{margin:0;font-size:.95em;line-height:1.6}.info-box p+p{margin-top:.5rem}.contact-card select.form-input{font-weight:600;max-width:200px}.contact-card .form-group input[type=checkbox]{width:auto;margin:0;cursor:pointer}.contact-card .form-group label[for*=dailyStatus]{margin:0;font-weight:400;cursor:pointer;user-select:none}.airport-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000;margin-top:4px}.airport-autocomplete-item{padding:10px 15px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s}.airport-autocomplete-item:last-child{border-bottom:none}.airport-autocomplete-item:hover,.airport-autocomplete-item.selected{background:#f5f7fa}.airport-code{background:#667eea;color:#fff;padding:2px 6px;border-radius:3px;margin-right:8px;font-family:monospace;font-size:12px;font-weight:600}.project-scope-page.page-container{max-width:none;width:max-content;min-width:100%}.scope-canvas-container{height:800px;min-width:3000px;width:max-content;background-color:#f8fafc;border-radius:.5rem;position:relative;display:flex;flex-direction:row}.scope-canvas-layout{display:flex;gap:0;height:100%;flex:1;position:relative}.scope-canvas-zone{flex-grow:0;flex-shrink:0;padding:0;position:relative;height:100%;background-color:#f8fafc;background-image:linear-gradient(rgba(100,116,139,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(100,116,139,.1) 1px,transparent 1px);background-size:20px 20px;background-position:-1px -1px;cursor:default;z-index:1;overflow:visible}.scope-canvas-zone.existing{border-right:3px solid var(--brand-primary)}.scope-canvas-zone.new{border-left:3px solid var(--brand-primary)}.scope-canvas-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem;font-weight:900;color:#64748b14;letter-spacing:.1em;z-index:0;pointer-events:none;user-select:none;white-space:nowrap}.scope-threshold-line{position:absolute;left:50%;top:0;bottom:0;width:8px;background:linear-gradient(to bottom,var(--brand-primary) 0%,var(--brand-primary) 100%);transform:translate(-50%);z-index:5;pointer-events:auto;cursor:col-resize;transition:background-color .15s}.scope-threshold-line:hover{background:linear-gradient(to bottom,#7ab82f 0% 100%)}.scope-threshold-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--brand-primary);color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.875rem;white-space:nowrap;z-index:6;pointer-events:none}.component-library{width:220px;background:#fff;border-right:1px solid #e2e8f0;overflow-y:auto;height:100%;flex-shrink:0}.component-library-header{padding:1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;color:#0f172a}.component-library-search{padding:.5rem 1rem;border-bottom:1px solid #e2e8f0}.component-library-search input{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem}.component-library-category{border-bottom:2px solid #cbd5e1;margin-bottom:.5rem}.component-library-category-header{padding:.75rem 1rem;background:linear-gradient(to right,#3b82f6,#2563eb);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#fff;user-select:none;box-shadow:0 2px 4px #3b82f633}.component-library-category-header:hover{background:linear-gradient(to right,#2563eb,#1d4ed8)}.component-library-items{padding:.5rem 0;background:#f8fafc}.component-library-subcategory-header{padding:.5rem 1rem;background:linear-gradient(to right,#e0e7ff,#dbeafe);border-left:4px solid #3b82f6;font-weight:600;font-size:.75rem;color:#1e40af;text-transform:uppercase;letter-spacing:.05em;display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;margin:.25rem 0;transition:background-color .15s}.component-library-subcategory-header:hover{background:linear-gradient(to right,#c7d2fe,#bfdbfe)}.component-library-item{padding:.5rem 1rem .5rem 1.5rem;cursor:grab;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#475569;transition:background-color .15s;user-select:none;-webkit-user-select:none;-webkit-user-drag:element;border-left:3px solid transparent}.component-library-item:hover{background:#fff;color:#0f172a;border-left-color:#3b82f6}.component-library-item:active{cursor:grabbing}.component-library-item-icon{font-size:1rem}.parent-component-card{position:absolute;background:#fff;border:3px solid #3b82f6;border-radius:.75rem;min-width:200px;max-width:280px;max-height:none;box-shadow:0 4px 12px #3b82f626;cursor:move;transition:box-shadow .15s,border-color .15s,transform .15s;overflow:visible}.parent-component-card:hover{box-shadow:0 6px 16px #3b82f640;transform:translateY(-2px);border-color:#2563eb}.parent-component-card.dragging{opacity:.5;cursor:grabbing}.parent-component-card.valid{border-color:#22c55e}.parent-component-card.warning{border-color:#f59e0b}.parent-component-card.error{border-color:#ef4444}.parent-component-card.copied{border-color:#a855f7;box-shadow:0 4px 12px #a855f726}.parent-component-card.copied:hover{box-shadow:0 6px 16px #a855f740;border-color:#9333ea}.parent-component-header{padding:.75rem 1rem;background:linear-gradient(to bottom,#eff6ff,#f8fafc);border-bottom:2px solid #dbeafe;border-radius:.75rem .75rem 0 0;display:flex;justify-content:space-between;align-items:center;cursor:move}.parent-component-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#0f172a;font-size:.9375rem}.parent-component-icon{font-size:1.25rem}.parent-component-delete{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1.25rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background-color .15s}.parent-component-delete:hover{background:#fee2e2}.parent-component-body{padding:.75rem 1rem}.parent-component-model{font-size:.8125rem;color:#64748b;margin-bottom:.75rem;cursor:move}.parent-component-children{display:flex;flex-direction:column;gap:.5rem}.parent-component-dropzone{min-height:50px;max-height:none;padding:.5rem;border:2px dashed #cbd5e1;border-radius:.375rem;color:#94a3b8;font-size:.75rem;transition:border-color .15s,background-color .15s;overflow:visible}.parent-component-dropzone.drag-over{border-color:#2563eb;background-color:#eff6ff;border-style:dashed}.parent-component-dropzone:empty{min-height:60px}.parent-component-dropzone:empty:before{content:"Drop peripherals here";opacity:.5}.child-component-pill{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.8125rem;cursor:grab;transition:background-color .15s,border-color .15s}.child-component-pill:hover{background:#f1f5f9;border-color:#cbd5e1}.child-component-pill:active{cursor:grabbing}.child-component-pill.dragging{opacity:.5}.child-component-content{display:flex;align-items:center;gap:.5rem;flex:1}.child-component-icon{font-size:1rem}.child-component-label{color:#475569;font-weight:500}.child-component-value{color:#0f172a}.child-component-remove{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;opacity:0;transition:opacity .15s,background-color .15s}.child-component-pill:hover .child-component-remove{opacity:1}.child-component-remove:hover{background:#fee2e2}.child-component-pill.os,.child-component-pill.ram,.child-component-pill.receiptPrinter,.child-component-pill.kitchenPrinter,.child-component-pill.cashDrawer,.child-component-pill.msr,.child-component-pill.rfidNfc,.child-component-pill.scanner,.child-component-pill.paymentGateway{background:#f8fafc;border-color:#cbd5e1}.validation-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.validation-modal-content{background:#fff;border-radius:.75rem;padding:1.5rem;max-width:500px;width:90%;box-shadow:0 20px 25px -5px #0000001a}.validation-modal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.validation-modal-icon{font-size:2rem}.validation-modal-icon.error{color:#ef4444}.validation-modal-icon.warning{color:#f59e0b}.validation-modal-title{font-size:1.25rem;font-weight:600;color:#0f172a}.validation-modal-message{color:#475569;margin-bottom:1rem;line-height:1.6}.validation-modal-suggestions{background:#f8fafc;border-radius:.5rem;padding:1rem;margin-bottom:1rem}.validation-modal-suggestions-title{font-weight:600;color:#0f172a;margin-bottom:.5rem;font-size:.875rem}.validation-modal-suggestions-list{list-style:disc;padding-left:1.5rem;color:#475569;font-size:.875rem}.validation-modal-footer{display:flex;gap:.75rem;justify-content:flex-end}.scope-canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8;text-align:center;padding:2rem;pointer-events:none}.scope-canvas-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.scope-canvas-empty-title{font-size:1.125rem;font-weight:600;color:#64748b;margin-bottom:.5rem}.scope-canvas-empty-description{font-size:.875rem;max-width:300px}@media(max-width:768px){.scope-canvas-layout{flex-direction:column}.component-library{width:100%;max-height:300px;border-right:none;border-bottom:1px solid #e2e8f0}.scope-canvas-zone.existing{border-right:none;border-bottom:3px solid var(--brand-primary)}.scope-canvas-zone.new{border-left:none;border-top:3px solid var(--brand-primary)}.scope-threshold-line{inset:50% 0 auto;width:auto;height:3px;transform:translateY(-50%)}.parent-component-card{max-width:calc(100% - 2rem)}}.fullscreen-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:9999;background:#fff;margin:0;border-radius:0;display:flex;flex-direction:column}.fullscreen-canvas .card-header{border-radius:0;flex-shrink:0}.fullscreen-canvas .card-body{flex:1;display:flex;overflow:hidden;padding:0!important}.fullscreen-canvas .scope-canvas-container{height:100%!important;min-height:unset!important;flex:1!important;display:flex!important}.fullscreen-canvas .scope-canvas-layout{height:100%!important;min-height:unset!important;flex:1!important}.fullscreen-canvas .scope-canvas-zone{height:100%!important;min-height:unset!important}.fullscreen-canvas .component-library{max-height:100%!important;height:100%!important}.peripheral-option-button{padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;text-align:left;transition:all .15s;font-size:.875rem;width:100%}.peripheral-option-button:hover{background:#eff6ff;border-color:#3b82f6}.peripheral-option-button:active{background:#dbeafe}.osb-site-type-bar{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:1rem;flex-wrap:wrap}.osb-site-type-label{font-weight:600;color:var(--text-secondary);font-size:.875rem;white-space:nowrap}.osb-site-type-group{display:flex;gap:.375rem;flex-wrap:wrap}.osb-site-type-btn{padding:.4rem 1rem;border-radius:999px;border:2px solid var(--border-color);background:var(--background);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.osb-site-type-btn:hover{border-color:var(--brand-primary);color:#5a8f20;background:#f0f9e8}.osb-site-type-btn.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;font-weight:600}.osb-summary-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.625rem 1.25rem;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-bottom:1.25rem;font-size:.8125rem}.osb-summary-label{font-weight:600;color:var(--text-secondary);margin-right:.25rem}.osb-summary-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .625rem;border-radius:999px;background:#f1f5f9;color:var(--text-primary);font-weight:500;border:1px solid var(--border-color);white-space:nowrap}.osb-summary-dot{color:var(--text-secondary);font-size:.625rem}.osb-header-actions{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.osb-collapse-btn{padding:.35rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:background .15s}.osb-collapse-btn:hover{background:var(--background);border-color:var(--text-secondary)}.osb-add-outlet-btn{width:100%;padding:.875rem;border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s;margin-top:.75rem}.osb-add-outlet-btn:hover{border-color:var(--brand-primary);color:#5a8f20;background:#f0f9e8}.osb-outlet-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;transition:box-shadow .2s;overflow:hidden}.osb-outlet-card:hover{box-shadow:var(--shadow-md)}.osb-outlet-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.125rem;cursor:pointer;user-select:none;background:#f8fafc;border-bottom:1px solid var(--border-color);transition:background .15s;gap:.75rem}.osb-outlet-header:hover{background:#f1f5f9}.osb-outlet-header-left{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.osb-outlet-toggle{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.osb-outlet-name-input{font-size:1rem;font-weight:600;color:var(--text-primary);background:transparent;border:none;outline:none;width:100%;padding:.125rem .25rem;border-radius:var(--radius-sm);cursor:text;transition:background .15s}.osb-outlet-name-input:hover{background:#0000000a}.osb-outlet-name-input:focus{background:var(--surface);border:1px solid var(--brand-primary);outline:2px solid rgba(var(--brand-primary-rgb),.25)}.osb-outlet-name-static{font-size:1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.osb-outlet-header-right{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.osb-outlet-device-count{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.osb-outlet-warn-badge{font-size:.9rem}.osb-outlet-delete-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1rem;line-height:1;transition:color .15s,background .15s}.osb-outlet-delete-btn:hover{color:var(--danger-color);background:#fee2e2}.osb-outlet-body{padding:.75rem 1rem 1rem}.osb-device-row{padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:.625rem;background:#fafbfc;transition:border-color .15s,background .15s}.osb-device-row:hover{border-color:#cbd5e1;background:#fff}.osb-device-row-top{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.osb-device-row-main{display:flex;align-items:center;gap:.5rem;flex:1;min-width:180px}.osb-zone-radio-group{display:flex;gap:.75rem;align-items:center;flex-shrink:0}.osb-zone-radio-label{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;user-select:none}.osb-zone-radio-label input[type=radio]{accent-color:var(--brand-primary);cursor:pointer;width:14px;height:14px}.osb-category-tag{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap;flex-shrink:0}.osb-validation-badge{font-size:1.1rem;line-height:1;flex-shrink:0}.osb-validation-badge[title]{cursor:help}.osb-device-label{font-family:Courier New,Courier,monospace;font-size:.78rem;font-weight:700;color:#fff;background:#334155;border-radius:4px;padding:.1rem .45rem;letter-spacing:.04em;flex-shrink:0}.osb-device-name{font-weight:500;color:var(--text-primary);font-size:.9375rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.osb-device-actions{display:flex;align-items:center;gap:.125rem;flex-shrink:0;opacity:0;transition:opacity .15s}.osb-device-row:hover .osb-device-actions{opacity:1}.osb-device-action-btn{background:none;border:none;cursor:pointer;padding:.2rem .35rem;border-radius:var(--radius-sm);font-size:.85rem;line-height:1;color:var(--text-secondary);transition:background .15s}.osb-device-action-btn:hover{background:#f1f5f9}.osb-device-remove-btn{background:none;border:none;cursor:pointer;padding:.2rem .375rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1rem;line-height:1;transition:color .15s,background .15s;flex-shrink:0}.osb-device-remove-btn:hover{color:var(--danger-color);background:#fee2e2}.osb-split-prompt{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0;font-size:.875rem;color:var(--text-secondary)}.osb-split-input{width:4rem;padding:.25rem .5rem;border:1px solid #cbd5e1;border-radius:var(--radius-sm);font-size:.875rem;text-align:center}.osb-device-controls{display:flex;align-items:center;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.osb-control-group{display:flex;align-items:center;gap:.375rem}.osb-control-label{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.osb-qty-stepper{display:flex;align-items:center;gap:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.osb-qty-btn{width:26px;height:26px;border:none;background:#f1f5f9;color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.osb-qty-btn:hover{background:#e2e8f0;color:var(--text-primary)}.osb-qty-btn:disabled{opacity:.4;cursor:not-allowed}.osb-qty-value{min-width:28px;text-align:center;font-weight:600;font-size:.875rem;color:var(--text-primary);padding:0 .25rem;background:var(--surface)}.osb-spec-select{padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-primary);background:var(--surface);cursor:pointer;max-width:220px;transition:border-color .15s}.osb-spec-select.osb-select-os{max-width:280px;min-width:200px}.osb-spec-select:hover,.osb-spec-select:focus{border-color:var(--brand-primary);outline:none}.osb-validation-ok{font-size:1rem;line-height:1}.osb-violations{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .625rem;background:#f8fafc;border-radius:var(--radius-sm);min-height:0}.osb-violation-card{display:flex;align-items:center;gap:.35rem;background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c;font-size:.775rem;font-weight:500;padding:.25rem .6rem;border-radius:var(--radius-sm);white-space:nowrap}.osb-violation-icon{font-size:.75rem}.osb-violation-legacy{background:#fffbeb;border-color:#fcd34d;color:#92400e}.osb-license-auto{font-size:.8rem;color:var(--text-secondary);font-style:italic;padding:.25rem 0}.osb-notes-input{width:100%;margin-top:.5rem;padding:.35rem .625rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-secondary);background:var(--surface);resize:vertical;min-height:36px;transition:border-color .15s;font-family:inherit}.osb-notes-input:focus{border-color:var(--brand-primary);outline:none;color:var(--text-primary)}.osb-peripherals-list{margin-top:0;margin-left:0;padding:.5rem .625rem;background:#f8fafc;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.25rem}.osb-peripheral-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary);padding:.2rem .5rem;border-radius:var(--radius-sm);transition:background .12s}.osb-peripheral-item:hover{background:#f1f5f9}.osb-peripheral-icon{font-size:.875rem}.osb-peripheral-name{flex:1}.osb-peripheral-qty{color:var(--text-secondary);white-space:nowrap}.osb-peripheral-remove-btn{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:.875rem;line-height:1;padding:.1rem .25rem;border-radius:var(--radius-sm);transition:color .15s,background .15s;opacity:0}.osb-peripheral-item:hover .osb-peripheral-remove-btn{opacity:1}.osb-peripheral-remove-btn:hover{color:var(--danger-color);background:#fee2e2}.osb-add-peripheral-btn{padding:.2rem .6rem;border:1.5px solid var(--brand-primary);border-radius:var(--radius-sm);background:#f0f9e8;color:#5a8f20;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;letter-spacing:.01em}.osb-add-peripheral-btn:hover{background:var(--brand-primary);color:#fff}.osb-peripheral-modal-overlay{position:fixed;inset:0;background:#0f172a73;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(2px)}.osb-peripheral-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000040;width:100%;max-width:760px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.osb-peripheral-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.osb-peripheral-modal-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0 0 .125rem}.osb-peripheral-modal-subtitle{font-size:.8125rem;color:var(--text-secondary);margin:0}.osb-peripheral-modal-close{width:2rem;height:2rem;border:none;background:#f1f5f9;border-radius:var(--radius-sm);font-size:1.25rem;line-height:1;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.osb-peripheral-modal-close:hover{background:#fee2e2;color:#ef4444}.osb-peripheral-modal-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.osb-peripheral-modal-section{display:flex;flex-direction:column;gap:.625rem}.osb-peripheral-modal-category{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.osb-peripheral-modal-list{display:flex;flex-direction:column}.osb-peripheral-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .625rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s;font-size:.875rem;color:var(--text-primary);user-select:none}.osb-peripheral-row:hover{background:#f0f9e8}.osb-peripheral-checkbox{width:1rem;height:1rem;accent-color:var(--brand-primary);cursor:pointer;flex-shrink:0}.osb-peripheral-row-name{flex:1}.osb-peripheral-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:#f8fafc;flex-shrink:0;gap:1rem}.osb-peripheral-modal-count{font-size:.875rem;color:var(--text-secondary)}.osb-peripheral-modal-actions{display:flex;gap:.75rem}.osb-add-device-btn{width:100%;padding:.625rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;margin-top:.25rem}.osb-add-device-btn:hover{border-color:var(--brand-primary);color:#5a8f20;background:#f0f9e8}.osb-device-picker-wrapper{position:relative}.osb-device-picker-panel{margin-top:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden}.osb-device-picker-search{padding:.625rem .75rem;border-bottom:1px solid var(--border-color)}.osb-device-picker-search input{width:100%;padding:.375rem .625rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);transition:border-color .15s}.osb-device-picker-search input:focus{border-color:var(--brand-primary);outline:none}.osb-device-picker-list{max-height:300px;overflow-y:auto}.osb-device-picker-category{padding:.5rem .75rem .25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:#f8fafc;border-bottom:1px solid #f1f5f9;position:sticky;top:0}.osb-device-picker-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;border:none;background:none;text-align:left;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:background .12s}.osb-device-picker-item:hover{background:#f0f9e8}.osb-device-picker-item-name{flex:1}.osb-device-picker-item-mfg{font-size:.75rem;color:var(--text-secondary)}.osb-device-picker-empty{padding:1.5rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.osb-empty-outlet{padding:1.5rem;text-align:center;color:var(--text-secondary);font-size:.875rem;font-style:italic}.osb-loading{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.9375rem}.osb-section{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:1rem;overflow:hidden}.osb-section-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.125rem;cursor:pointer;user-select:none;background:#f8fafc;border-bottom:1px solid var(--border-color);transition:background .15s;gap:.75rem}.osb-section-header:hover{background:#f1f5f9}.osb-section-title{font-size:.9375rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.osb-section-toggle{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.osb-section-body{padding:.875rem 1rem 1rem}.osb-pc-panel{display:flex;flex-direction:column;gap:.625rem}.osb-pc-placeholder{padding:1.25rem;text-align:center;color:var(--text-secondary);font-style:italic;font-size:.875rem}.osb-pc-row{display:flex;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fafbfc;flex-wrap:wrap}.osb-pc-add-row{padding:.375rem 0}.osb-pc-delete-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:1.125rem;line-height:1;padding:.1rem .3rem;border-radius:var(--radius-sm);flex-shrink:0;align-self:center;transition:color .15s,background .15s}.osb-pc-delete-btn:hover{color:var(--danger-color);background:#fee2e2}.osb-pc-name-static{font-weight:600;font-size:.9375rem;color:var(--text-primary);cursor:pointer;padding:.1rem .25rem;border-radius:var(--radius-sm);align-self:center;transition:background .15s;white-space:nowrap}.osb-pc-name-static:hover{background:#0000000d}.osb-pc-name-input{font-size:.9375rem;font-weight:600;color:var(--text-primary);background:transparent;border:none;outline:none;padding:.125rem .25rem;border-radius:var(--radius-sm);align-self:center;min-width:120px;max-width:200px}.osb-pc-name-input.editing{background:var(--surface);border:1px solid var(--brand-primary);outline:2px solid rgba(var(--brand-primary-rgb),.25)}.osb-pc-concepts-row{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;flex:1}.osb-pc-concepts-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.osb-concept-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem .2rem .625rem;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:.8rem;font-weight:500;border:1px solid #c4b5fd;white-space:nowrap}.osb-concept-pill-sm{font-size:.72rem;padding:.15rem .4rem .15rem .5rem}.osb-concept-pill-remove{background:none;border:none;cursor:pointer;color:#7c3aed;font-size:.875rem;line-height:1;padding:0 .1rem;border-radius:50%;transition:color .12s,background .12s}.osb-concept-pill-remove:hover{color:var(--danger-color);background:#fee2e2}.osb-concept-add{font-size:.8rem;padding:.2rem .5rem;border:1px solid var(--brand-primary);border-radius:999px;outline:none;background:var(--surface);color:var(--text-primary);min-width:100px;max-width:160px}.osb-concept-add-btn{font-size:.8rem;padding:.2rem .625rem;border:1px dashed var(--border-color);border-radius:999px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.osb-concept-add-btn:hover{border-color:var(--brand-primary);color:#5a8f20;background:#f0f9e8}.osb-add-pc-btn{width:100%;padding:.625rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.osb-add-pc-btn:hover{border-color:var(--brand-primary);color:#5a8f20;background:#f0f9e8}.osb-devices-section-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.875rem 1.125rem;background:#f8fafc;border-bottom:1px solid var(--border-color)}.osb-devices-count{font-weight:500;color:var(--text-secondary)}.osb-summary-bar-inline{margin:0;padding:0;background:none;border:none;box-shadow:none;flex:1;justify-content:flex-start}.osb-device-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem;align-items:start}.osb-pc-assignment{margin-top:0;padding:.5rem .625rem;background:#f8fafc;border-radius:var(--radius-sm);border:1px solid #f1f5f9;display:flex;flex-direction:column;gap:.375rem}.osb-pc-assignment-label{font-size:.775rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.125rem}.osb-pc-assignment-empty{font-size:.8125rem;color:#94a3b8;font-style:italic}.osb-pc-assign-row{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem}.osb-pc-assign-check{display:flex;align-items:center;gap:.375rem;cursor:pointer;user-select:none}.osb-pc-assign-check input[type=checkbox]{accent-color:var(--brand-primary);width:.875rem;height:.875rem;cursor:pointer;flex-shrink:0}.osb-pc-assign-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.osb-pc-concept-checks{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem}.osb-pc-concept-arrow{font-size:.75rem;color:var(--text-secondary)}.osb-concept-check-label{display:flex;align-items:center;gap:.25rem;cursor:pointer;user-select:none;font-size:.8rem;color:var(--text-secondary);padding:.125rem .375rem;border-radius:999px;border:1px solid var(--border-color);background:var(--surface);transition:all .12s;white-space:nowrap}.osb-concept-check-label:hover{border-color:var(--brand-primary);color:#5a8f20;background:#f0f9e8}.osb-concept-check-label input[type=checkbox]{accent-color:var(--brand-primary);width:.8rem;height:.8rem;cursor:pointer}.osb-concept-all{font-weight:600;border-style:dashed}.osb-summary-view{margin-top:.5rem}.osb-summary-pc{margin-bottom:1rem;padding:.625rem .75rem;background:#f8fafc;border-radius:var(--radius-md);border:1px solid var(--border-color)}.osb-summary-pc-header{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-bottom:.5rem}.osb-summary-pc-name{font-weight:700;font-size:.9375rem;color:var(--text-primary)}.osb-summary-pc-count{font-size:.8rem;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-color);border-radius:999px;padding:.1rem .5rem}.osb-summary-pc-concepts{display:flex;flex-wrap:wrap;gap:.25rem}.osb-summary-device-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.25rem;border-radius:var(--radius-sm);transition:background .12s}.osb-summary-device-row-clickable{cursor:pointer}.osb-summary-device-row-clickable:hover{background:#f1f5f9}.osb-summary-device-row-clickable:hover .osb-unassigned-jump-hint{opacity:1}.osb-unassigned-jump-hint{font-size:.7rem;color:var(--brand-primary);font-weight:600;opacity:0;transition:opacity .15s;margin-left:auto}@keyframes osb-blink-highlight{0%{background:#fff}20%{background:#fef9c3;box-shadow:0 0 0 2px #f59e0b}50%{background:#fde68a;box-shadow:0 0 0 3px #f59e0b}80%{background:#fef9c3;box-shadow:0 0 0 2px #f59e0b}to{background:#fff;box-shadow:none}}.osb-device-blink{animation:osb-blink-highlight 1.2s ease 2}.osb-summary-device-row:hover{background:#f1f5f9}.osb-category-tag-sm{font-size:.65rem;padding:.1rem .375rem}.osb-summary-device-name{font-size:.875rem;color:var(--text-primary);flex:1;display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.osb-summary-device-label{font-family:Courier New,Courier,monospace;font-size:.7rem;font-weight:700;color:#fff;background:#334155;border-radius:3px;padding:.05rem .35rem;letter-spacing:.04em;flex-shrink:0}.osb-summary-device-concepts{display:flex;flex-wrap:wrap;gap:.25rem}.osb-licensing-note{font-size:.72rem;color:#94a3b8;font-style:italic;margin-left:.25rem}.osb-license-tag{font-size:.78rem;color:#94a3b8;font-style:italic}.osb-summary-cloud-licenses,.osb-summary-license-stat{color:#64748b}.osb-summary-all-tag{font-size:.75rem;color:var(--text-secondary);font-style:italic}.osb-summary-shared-label{font-size:.75rem;color:#94a3b8;margin-left:auto;white-space:nowrap}.osb-summary-global-stats{font-size:.8rem;color:var(--text-secondary)}.osb-summary-shared-total{color:#94a3b8}.osb-summary-pc-shared{color:#94a3b8;font-size:.8rem}.osb-unassigned{margin-bottom:1rem;padding:.625rem .75rem;background:#fafafa;border-radius:var(--radius-md);border:1px dashed var(--border-color)}.osb-device-picker-list::-webkit-scrollbar,.osb-peripheral-dropdown::-webkit-scrollbar{width:6px}.osb-device-picker-list::-webkit-scrollbar-thumb,.osb-peripheral-dropdown::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.osb-device-picker-list::-webkit-scrollbar-track,.osb-peripheral-dropdown::-webkit-scrollbar-track{background:transparent}.sdv-overlay{position:fixed;inset:0;background:#f8fafc;z-index:10000;display:flex;flex-direction:column;overflow:hidden}.sdv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 1.25rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;flex-wrap:wrap}.sdv-toolbar-left{display:flex;align-items:center;gap:.75rem}.sdv-toolbar-title{font-size:1rem;font-weight:700;color:#0f172a}.sdv-toolbar-site{font-size:.875rem;color:#64748b}.sdv-toolbar-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sdv-btn-print{background:var(--brand-primary);color:#fff;border:none;border-radius:6px;padding:.4rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer}.sdv-btn-print:hover{background:#7ab834}.sdv-btn-close{background:#f1f5f9;color:#475569;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.875rem;cursor:pointer}.sdv-btn-close:hover{background:#e2e8f0}.sdv-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.sdv-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:#64748b}.sdv-legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.sdv-content{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.sdv-pc-block{border:2px solid var(--brand-primary);border-radius:8px;break-inside:avoid;page-break-inside:avoid}.sdv-pc-header{background:var(--brand-primary);color:#fff;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;letter-spacing:.04em}.sdv-pc-header-gray{background:#94a3b8}.sdv-pc-header-blue{background:#3b82f6}.sdv-unassigned-block{border-color:#94a3b8}.sdv-infra-block{border-color:#3b82f6}.sdv-pc-count{font-size:11px;font-weight:400;opacity:.85}.sdv-pc-body{padding:10px 12px 12px;background:#fff;border-radius:0 0 6px 6px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px}.sdv-category-section{flex:none;break-inside:avoid;page-break-inside:avoid}.sdv-category-pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.05em;margin-bottom:8px}.sdv-cards-row{display:flex;flex-wrap:wrap;gap:8px}.sdv-card{width:160px;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden;break-inside:avoid;page-break-inside:avoid;background:#fff;flex-shrink:0}.sdv-card-header{display:flex;align-items:center;justify-content:space-between;padding:5px 7px;gap:4px}.sdv-card-name{font-size:10px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sdv-card-qty{font-size:10px;font-weight:700;color:#fff;background:#ffffff40;border-radius:4px;padding:1px 5px;flex-shrink:0}.sdv-card-body{padding:6px 8px}.sdv-card-concepts{font-size:9px;color:#64748b;font-style:italic;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdv-card-specs{display:flex;flex-direction:column;gap:2px}.sdv-card-spec{display:flex;justify-content:space-between;font-size:9.5px}.sdv-card-spec span:first-child{color:#94a3b8;font-weight:600;text-transform:uppercase;font-size:8px;letter-spacing:.04em}.sdv-card-spec span:last-child{color:#334155;font-size:9.5px}.sdv-card-peripherals{margin-top:5px;display:flex;flex-direction:column;gap:2px}.sdv-periph-pill{background:#f8fafc;border:1px solid #e2e8f0;border-radius:3px;padding:1px 5px;font-size:8.5px;color:#475569;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdv-shared-label{margin-top:5px;font-size:8.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdv-print-header,.print-only{display:none}@media print{html.sdv-printing #root{display:none!important}html.sdv-printing .sdv-overlay{position:static!important;overflow:visible!important;background:#fff;z-index:auto}.no-print{display:none!important}.print-only{display:block!important}.sdv-print-header{display:flex!important;justify-content:space-between;align-items:baseline;padding:0 0 8pt;border-bottom:2pt solid var(--brand-primary);margin-bottom:12pt;font-size:16pt;font-weight:700;color:#0f172a}.sdv-print-header span{font-size:9pt;font-weight:400;color:#64748b}.sdv-content{overflow:visible!important;flex:none;padding:0;gap:12pt}@page{size:A4 landscape;margin:12mm 10mm}.sdv-pc-block{break-inside:avoid;page-break-inside:avoid;border-width:1.5pt}.sdv-pc-header{padding:5pt 10pt;font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sdv-pc-body{padding:6pt 8pt 2pt}.sdv-category-section{break-inside:avoid;page-break-inside:avoid;margin-bottom:6pt}.sdv-category-pill{padding:2pt 8pt;font-size:7.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sdv-cards-row{gap:5pt}.sdv-card{width:38mm;break-inside:avoid;page-break-inside:avoid;border-width:.5pt}.sdv-card-header{padding:3.5pt 5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sdv-card-name,.sdv-card-qty{font-size:7.5pt}.sdv-card-body{padding:4pt 5pt}.sdv-card-concepts{font-size:6.5pt}.sdv-card-spec span:first-child{font-size:5.5pt}.sdv-card-spec span:last-child{font-size:6.5pt}.sdv-periph-pill{font-size:6pt;padding:1pt 4pt}.sdv-shared-label{font-size:6pt}}.adm-overlay{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.adm-modal{background:#fff;border-radius:12px;width:880px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.adm-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.adm-title{font-size:1rem;font-weight:700;color:#0f172a;white-space:nowrap}.adm-search{flex:1;padding:.45rem .75rem;border:1.5px solid #e2e8f0;border-radius:6px;font-size:.875rem;outline:none;transition:border-color .15s,box-shadow .15s}.adm-search:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.15)}.adm-close-btn{background:#f1f5f9;color:#475569;border:none;border-radius:6px;padding:.35rem .65rem;font-size:.875rem;cursor:pointer;flex-shrink:0}.adm-close-btn:hover{background:#e2e8f0}.adm-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:4px}.adm-group{margin-bottom:6px}.adm-cat-header{padding:5px 10px;border-radius:5px;font-size:10.5px;font-weight:700;color:#fff;letter-spacing:.05em;margin-bottom:6px}.adm-devices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.adm-device-item{display:flex;align-items:flex-start;gap:.45rem;padding:.5rem .625rem;border:1.5px solid #e2e8f0;border-radius:6px;cursor:pointer;background:#fff;transition:border-color .1s,background .1s;user-select:none}.adm-device-item:hover,.adm-device-item.adm-selected{border-color:var(--brand-primary);background:#f0fdf4}.adm-device-item input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--brand-primary);width:14px;height:14px;cursor:pointer}.adm-device-info{min-width:0}.adm-device-name{font-size:12px;font-weight:600;color:#0f172a;line-height:1.3}.adm-device-mfr{font-size:10px;color:#94a3b8;margin-top:1px}.adm-legacy-flag{font-size:9px;color:#d97706;margin-top:2px}.adm-qty{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.adm-qty-btn{width:20px;height:20px;background:#e2e8f0;border:none;border-radius:4px;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;padding:0;flex-shrink:0}.adm-qty-btn:hover{background:var(--brand-primary);color:#fff}.adm-qty-input{width:32px;text-align:center;border:1.5px solid #e2e8f0;border-radius:4px;font-size:.75rem;font-weight:600;padding:1px 2px;color:#0f172a}.adm-qty-input::-webkit-inner-spin-button,.adm-qty-input::-webkit-outer-spin-button{-webkit-appearance:none}.adm-empty{text-align:center;padding:2.5rem 1rem;color:#94a3b8;font-size:.875rem}.adm-footer{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-top:1px solid #e2e8f0;flex-shrink:0;background:#f8fafc}.adm-count{flex:1;font-size:.8rem;color:#64748b}.adm-btn-cancel{background:#f1f5f9;color:#475569;border:none;border-radius:6px;padding:.45rem 1rem;font-size:.875rem;cursor:pointer}.adm-btn-cancel:hover{background:#e2e8f0}.adm-btn-add{background:var(--brand-primary);color:#fff;border:none;border-radius:6px;padding:.45rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap}.adm-btn-add:hover:not(:disabled){background:#7ab834}.adm-btn-add:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.inv-overlay{position:fixed;inset:0;background:#f8fafc;z-index:10000;display:flex;flex-direction:column;overflow:hidden}.inv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 1.25rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0}.inv-toolbar-left{display:flex;align-items:center;gap:.75rem}.inv-toolbar-title{font-size:1rem;font-weight:700;color:#0f172a}.inv-toolbar-site{font-size:.875rem;color:#64748b}.inv-toolbar-right{display:flex;align-items:center;gap:.75rem}.inv-btn-print{background:var(--brand-primary);color:#fff;border:none;border-radius:6px;padding:.4rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer}.inv-btn-print:hover{background:#7ab834}.inv-btn-close{background:#f1f5f9;color:#475569;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.875rem;cursor:pointer}.inv-btn-close:hover{background:#e2e8f0}.inv-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem;max-width:960px;width:100%;margin:0 auto}.inv-empty-state{text-align:center;padding:3rem;color:#94a3b8;font-style:italic}.inv-section{break-inside:avoid;page-break-inside:avoid}.inv-section-title{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#475569;margin:0 0 .625rem;padding-bottom:.375rem;border-bottom:2px solid var(--brand-primary)}.inv-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.inv-th{text-align:left;padding:.625rem .875rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.inv-th-right{text-align:right}.inv-th-center{text-align:center}.inv-th-pc{min-width:160px}.inv-row{border-bottom:1px solid #f1f5f9}.inv-row:last-child{border-bottom:none}.inv-row:hover{background:#f8fafc}.inv-cell-swatch{padding:.625rem .625rem .625rem .875rem}.inv-cell-cat{padding:.625rem .875rem;color:#64748b;font-size:.875rem}.inv-cell-model{padding:.625rem .875rem;font-weight:500;color:#0f172a}.inv-cell-qty{padding:.625rem .875rem;text-align:right;font-weight:700;color:#2563eb}.inv-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:middle}.inv-scroll{overflow-x:auto}.inv-matrix .inv-cell-qty{text-align:center}.inv-col-swatch{display:block;width:12px;height:12px;border-radius:2px;margin:0 auto 3px}.inv-col-label{display:block;font-size:.7rem;font-weight:600;white-space:nowrap}.inv-empty{padding:1rem;text-align:center;color:#94a3b8;font-style:italic;font-size:.875rem}.print-only{display:none}@media print{html.inv-printing #root{display:none!important}html.inv-printing .inv-overlay{position:static!important;overflow:visible!important;background:#fff;z-index:auto}.no-print{display:none!important}.print-only{display:flex!important}.inv-print-header{display:flex!important;justify-content:space-between;align-items:baseline;padding-bottom:8pt;border-bottom:2pt solid var(--brand-primary);margin-bottom:16pt;font-size:16pt;font-weight:700;color:#0f172a}.inv-print-header span{font-size:9pt;font-weight:400;color:#64748b}.inv-content{overflow:visible!important;flex:none;padding:0;max-width:none;gap:20pt}@page{size:A4 portrait;margin:12mm 15mm}.inv-section{break-inside:avoid;page-break-inside:avoid}.inv-section-title{font-size:9pt;padding-bottom:3pt;margin-bottom:6pt}.inv-table{box-shadow:none;border:.5pt solid #e2e8f0}.inv-th{padding:4pt 6pt;font-size:7pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-cell-swatch,.inv-cell-cat,.inv-cell-model,.inv-cell-qty{padding:4pt 6pt;font-size:8pt}.inv-row:hover{background:transparent}.inv-scroll{overflow-x:visible}}.vr-overlay{position:fixed;inset:0;background:#f8fafc;z-index:10000;display:flex;flex-direction:column;overflow:hidden}.vr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 1.25rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;flex-wrap:wrap}.vr-toolbar-left{display:flex;align-items:center;gap:.75rem}.vr-toolbar-title{font-size:1rem;font-weight:700;color:#0f172a}.vr-toolbar-site{font-size:.875rem;color:#64748b}.vr-toolbar-right{display:flex;align-items:center;gap:.75rem}.vr-btn-print{background:var(--brand-primary);color:#fff;border:none;border-radius:6px;padding:.4rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer}.vr-btn-print:hover{background:#7ab834}.vr-btn-close{background:#f1f5f9;color:#475569;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.875rem;cursor:pointer}.vr-btn-close:hover{background:#e2e8f0}.vr-content{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.vr-summary-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem}.vr-summary-stat{display:flex;flex-direction:column;align-items:center;min-width:60px}.vr-stat-num{font-size:1.75rem;font-weight:800;line-height:1;color:#0f172a}.vr-stat-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-top:2px;white-space:nowrap}.vr-stat-bad .vr-stat-num{color:#ef4444}.vr-stat-good .vr-stat-num{color:#22c55e}.vr-stat-err .vr-stat-num{color:#ef4444}.vr-stat-warn .vr-stat-num{color:#f59e0b}.vr-type-breakdown{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}.vr-section{display:flex;flex-direction:column;gap:.75rem}.vr-section-header{font-size:.875rem;font-weight:700;padding:.5rem .75rem;border-radius:6px}.vr-section-header-bad{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5}.vr-section-header-good{background:#f0fdf4;color:#15803d;border:1px solid #86efac}.vr-cards{display:flex;flex-direction:column;gap:.625rem}.vr-device-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:8px;overflow:hidden;break-inside:avoid;page-break-inside:avoid}.vr-device-card-clean{opacity:.8}.vr-device-header{padding:.625rem .875rem;display:flex;flex-direction:column;gap:.35rem}.vr-device-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.vr-cat-badge{color:#fff;font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap}.vr-device-name{font-weight:600;font-size:.9rem;color:#0f172a}.vr-device-qty{font-size:.8rem;color:#64748b}.vr-clean-badge{font-size:.75rem;color:#16a34a;margin-left:auto}.vr-device-meta{display:flex;flex-wrap:wrap;gap:.35rem}.vr-meta-pill{font-size:.75rem;background:#f1f5f9;color:#475569;border-radius:4px;padding:1px 7px}.vr-meta-pc{background:#eff6ff;color:#1d4ed8}.vr-device-violations{display:flex;flex-direction:column;gap:1px;border-top:1px solid #e2e8f0}.vr-violation-row{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem .875rem;font-size:.8rem}.vr-severity-error{background:#fef2f2}.vr-severity-warning{background:#fffbeb}.vr-violation-msg{color:#334155;flex:1;line-height:1.4}.vr-tag{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;flex-shrink:0}.vr-tag-upgrade{background:#f0fdf4;color:#15803d;border:1px solid #86efac}.vr-tag-ram{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.vr-tag-os{background:#faf5ff;color:#7c3aed;border:1px solid #ddd6fe}.vr-tag-periph{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.vr-tag-scope{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5}.vr-tag-warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.vr-empty{text-align:center;padding:3rem 1rem;color:#94a3b8;font-size:.9rem;background:#fff;border-radius:8px;border:1px dashed #e2e8f0}.vr-print-header{display:none}.vr-print-sub{font-size:10pt;font-weight:400;color:#64748b;margin-top:2pt}.print-only{display:none!important}@media print{html.vr-printing #root{display:none!important}html.vr-printing .vr-overlay{position:static!important;overflow:visible!important;background:#fff;z-index:auto}.no-print{display:none!important}.print-only{display:block!important}.vr-print-header{display:flex!important;justify-content:space-between;align-items:flex-start;padding-bottom:8pt;border-bottom:2pt solid var(--brand-primary);margin-bottom:12pt;font-size:16pt;font-weight:700;color:#0f172a}.vr-content{overflow:visible!important;flex:none;padding:0;gap:10pt}@page{size:A4 portrait;margin:12mm 10mm}.vr-device-card,.vr-section{break-inside:avoid;page-break-inside:avoid}.vr-summary-bar,.vr-severity-error,.vr-severity-warning,.vr-tag{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.ds-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--border-color);margin-bottom:1.5rem;overflow-x:auto;scrollbar-width:none}.ds-tab-bar::-webkit-scrollbar{display:none}.ds-tab-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.ds-tab-btn:hover{color:var(--text-primary)}.ds-tab-btn.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);font-weight:600}.ds-sync-bar{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);color:#166534;font-size:.875rem;margin-bottom:1.25rem;flex-wrap:wrap}.ds-sync-hint{font-size:.8rem;color:#166534;opacity:.85}.ds-two-col-header{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:0}@media(max-width:900px){.ds-two-col-header{grid-template-columns:1fr}}.ds-products-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}@media(max-width:900px){.ds-products-grid{grid-template-columns:1fr}}.ds-products-col{display:flex;flex-direction:column}.ds-product-row{display:flex;align-items:center;gap:.625rem;padding:.3125rem 0;border-bottom:1px solid var(--border-color)}.ds-product-row:last-child{border-bottom:none}.ds-product-check{accent-color:var(--brand-primary);width:15px;height:15px;cursor:pointer;flex-shrink:0}.ds-product-name{flex:1;font-size:.875rem;color:var(--text-primary);cursor:pointer;user-select:none}.ds-product-version{padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.75rem;width:90px;color:var(--text-primary);background:var(--surface);flex-shrink:0}.ds-product-version:focus{outline:none;border-color:var(--brand-primary)}.ds-table-wrap{overflow-x:auto}.ds-table{width:100%;border-collapse:collapse;font-size:.8125rem;min-width:600px}.ds-table th{padding:.5rem .625rem;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:#f8fafc;border-bottom:2px solid var(--border-color);white-space:nowrap}.ds-table td{padding:.3125rem .375rem;border-bottom:1px solid var(--border-color);vertical-align:middle;color:var(--text-primary)}.ds-table tr:last-child td{border-bottom:none}.ds-table tbody tr:hover td{background:#f8fafc}.ds-totals-row td{background:#f1f5f9!important;font-weight:700;border-top:2px solid var(--border-color)!important}.ds-cell-input{padding:.25rem .375rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.8125rem;background:transparent;color:var(--text-primary);width:100%;min-width:60px;box-sizing:border-box;font-family:inherit;transition:border-color .15s,background .15s}.ds-cell-input:hover{border-color:var(--border-color);background:var(--surface)}.ds-cell-input:focus{outline:none;border-color:var(--brand-primary);background:var(--surface)}.ds-mono{font-family:Consolas,Courier New,monospace;font-size:.78rem;letter-spacing:.02em}.ds-cell-num{text-align:center;max-width:70px}.ds-bool{display:flex;align-items:center;justify-content:center;width:28px;height:22px;margin:0 auto;cursor:pointer;font-size:.875rem;font-weight:700;border:1px solid;border-radius:var(--radius-sm);user-select:none;transition:background .12s,border-color .12s,color .12s}.ds-bool-yes{background:#f0fdf4;border-color:#86efac;color:#16a34a}.ds-bool-no{background:#f8fafc;border-color:var(--border-color);color:#cbd5e1}.ds-bool:hover{border-color:var(--brand-primary)}.ds-del-btn{padding:.25rem .375rem;background:none;border:none;color:#cbd5e1;cursor:pointer;border-radius:var(--radius-sm);font-size:1rem;line-height:1;transition:color .12s,background .12s}.ds-del-btn:hover{color:var(--danger-color, #ef4444);background:#fef2f2}.ds-table.ds-outlet-table th:not(:first-child):not(:last-child):not(:nth-last-child(2)){text-align:center}.ds-convention-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9999px;font-size:.7rem;color:#166534;white-space:nowrap}.ds-convention-badge strong{font-family:Consolas,Courier New,monospace;font-weight:700;letter-spacing:.04em}.ds-col-modal{max-width:480px;width:100%}.ds-col-modal-hint{font-size:.8125rem;color:var(--text-secondary);margin-bottom:1rem}.ds-col-list{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem;max-height:360px;overflow-y:auto;padding-right:.25rem}.ds-col-row{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:#f8fafc;border:1px solid var(--border-color);border-radius:var(--radius-sm)}.ds-col-vis{width:28px;height:24px;border:none;background:none;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0;transition:background .12s}.ds-col-vis:hover{background:#e2e8f0}.ds-col-vis-on{opacity:1}.ds-col-vis-off{opacity:.4}.ds-col-label-input{flex:1;padding:.25rem .375rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.8125rem;background:transparent;color:var(--text-primary);transition:border-color .15s,background .15s}.ds-col-label-input:hover{border-color:var(--border-color);background:var(--surface)}.ds-col-label-input:focus{outline:none;border-color:var(--brand-primary);background:var(--surface)}.ds-col-add{display:flex;gap:.5rem;align-items:center;margin-top:.75rem}.ds-col-add .form-input{flex:1;margin:0}.ds-page .card{margin-bottom:.75rem}.ds-page .card-header{padding:.55rem .85rem}.ds-page .card-header h3{font-size:.95rem}.ds-page .card-body{padding:.75rem .85rem}.ds-page .form-grid{gap:.55rem .85rem}.ds-page .form-group{margin-bottom:0}.ds-page .form-label{margin-bottom:.2rem;font-size:.78rem}.ds-two-col-header{margin-bottom:.75rem;gap:.85rem}.igcm-existing-toggle{display:inline-flex;align-items:center;cursor:pointer;user-select:none;flex-shrink:0}.igcm-existing-toggle input[type=checkbox]{display:none}.igcm-existing-pill{padding:.25rem .625rem;border:1px dashed var(--border-color);border-radius:9999px;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--surface);transition:background .15s,color .15s,border-color .15s,border-style .15s,font-weight .15s;white-space:nowrap}.igcm-existing-pill.active{background:#f0fdf4;border:2px solid #16a34a;color:#166534;font-weight:700}.igcm-admin-row{display:flex;align-items:center;gap:.625rem}.igcm-admin-num{width:1.5rem;height:1.5rem;border-radius:9999px;background:var(--border-color);color:var(--text-secondary);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}@media(max-width:768px){.igcm-admin-row{flex-wrap:wrap;row-gap:.4rem}.igcm-admin-row>.form-input{flex:1 1 100%!important;min-width:0}.igcm-admin-row>.btn{width:auto!important;min-width:44px;min-height:44px;flex:0 0 auto;margin-left:auto}}.igcm-sensitive-banner{padding:.75rem 1rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:var(--radius-md);font-size:.875rem;color:#9a3412;line-height:1.5}.igcm-sensitive-label{margin-left:.5rem;padding:.125rem .375rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#c2410c;vertical-align:middle}.customer-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.customer-info-field{display:flex;flex-direction:column;gap:.2rem;min-width:0}.customer-info-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.customer-info-value{font-size:.875rem;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;min-width:0}.workspace-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-bottom:2rem}@media(max-width:768px){.workspace-module-grid{grid-template-columns:1fr}.workspace-module-header{flex-direction:column!important;align-items:flex-start!important;gap:.625rem}.workspace-new-btn{width:100%;text-align:center;justify-content:center}}.workspace-module-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:visible;display:flex;flex-direction:column;position:relative}.workspace-module-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-left:4px solid transparent;background:var(--surface);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.workspace-module-history{flex:1;padding:.375rem 0}.workspace-history-empty{padding:.75rem 1rem;font-size:.8rem;color:var(--text-secondary);font-style:italic}.workspace-history-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .1s}.workspace-history-row:last-child{border-bottom:none}.workspace-history-row:hover{background:var(--background)}.workspace-record-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.workspace-record-badge.draft{background:#f1f5f9;color:#64748b}.workspace-record-badge.submitted{background:#eff6ff;color:#2563eb}.workspace-record-badge.completed{background:#f0fdf4;color:#16a34a}.workspace-record-badge.open{background:#fef2f2;color:#dc2626}.workspace-module-footer{padding:.5rem 1rem;font-size:.72rem;color:var(--text-secondary);background:var(--background);border-top:1px solid var(--border-color);border-radius:0 0 var(--radius-lg) var(--radius-lg)}body.sb-fullscreen .app-main{display:flex;flex-direction:column;min-height:0!important;overflow:hidden}.sb-page{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;background:var(--background, #f8fafc);padding:0 .75rem .75rem}.sb-top-bar{flex:0 0 auto;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface, #fff);border-bottom:1px solid var(--border-color, #e2e8f0);flex-wrap:wrap}.sb-top-title{font-size:.95rem;font-weight:700;color:var(--text-primary, #0f172a);white-space:nowrap}.sb-top-project{font-size:.8rem;color:var(--text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.sb-top-sep{width:1px;height:1.25rem;background:var(--border-color, #e2e8f0);flex-shrink:0;margin:0 .25rem}.sb-day-controls{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;padding:.5rem 1.5rem;background:var(--surface, #fff);border-bottom:1px solid var(--border-color, #e2e8f0);flex-wrap:wrap}.sb-day-controls .btn{white-space:nowrap}.sb-date-input{padding:.375rem .625rem;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-sm, .375rem);font-size:.875rem;color:var(--text-primary, #0f172a);background:var(--surface, #fff);width:140px;flex:0 0 auto}.sb-date-label{font-size:.95rem;font-weight:600;color:var(--text-primary, #0f172a);min-width:160px}.sb-day-controls .spacer{flex:1}.sb-layout{display:flex;flex:1 1 0;overflow:hidden;position:relative}.sb-grid-area{flex:1 1 0;overflow:hidden;display:flex;flex-direction:column;transition:margin-right .2s ease}.sb-layout.sidebar-open .sb-grid-area{margin-right:280px}.sb-loading,.sb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:1rem;color:var(--text-secondary, #64748b);font-size:.95rem;padding:3rem;text-align:center}.sb-empty h3{margin:0;font-size:1.125rem;color:var(--text-primary, #0f172a)}.sb-grid-scroll{flex:1 1 0;overflow:auto;position:relative}.sb-grid{border-collapse:collapse;table-layout:fixed;min-width:900px}.sb-grid th,.sb-grid td{border:1px solid #e2e8f0;padding:0;vertical-align:top}.sb-corner{position:sticky;left:0;top:0;z-index:30;background:var(--surface, #fff);min-width:180px;width:180px;padding:.375rem .5rem;font-size:.75rem;color:var(--text-secondary, #64748b);font-weight:600;border-bottom:2px solid #e2e8f0!important;border-right:2px solid #e2e8f0!important}.sb-settings-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color, #e2e8f0);padding:0 1rem;background:var(--surface, #fff)}.sb-settings-tab{padding:.625rem 1rem;border:none;background:transparent;font-size:.825rem;font-weight:600;color:var(--text-secondary, #64748b);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.sb-settings-tab:hover{color:var(--text-primary, #0f172a)}.sb-settings-tab.active{color:var(--text-primary, #0f172a);border-bottom-color:var(--brand-primary)}.sb-solver-summary{padding:.75rem 1rem;background:#f0f9e8;border:1px solid var(--brand-primary);border-radius:var(--radius-md, .5rem);font-size:.875rem;color:var(--text-primary, #0f172a);margin-bottom:1rem}.sb-solver-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #64748b);margin:1rem 0 .5rem}.sb-solver-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}.sb-solver-list li{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--text-primary, #0f172a);line-height:1.4}.sb-solver-tag{flex:0 0 auto;display:inline-block;padding:.1rem .4rem;border-radius:4px;background:#e0f2e7;color:#4a7c14;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.sb-solver-tag-skip{background:#fef3c7;color:#92400e}.sb-solver-list-skipped li{color:var(--text-secondary, #64748b)}.sb-rule-params{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-color, #e2e8f0)}.sb-rule-param{display:inline-flex;align-items:center;gap:.4rem;font-size:.775rem;color:var(--text-secondary, #64748b);font-weight:500}.sb-rule-param input[type=number]{width:4.5rem;padding:.2rem .4rem;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-sm, .375rem);font-size:.8rem;font-variant-numeric:tabular-nums;text-align:right}.sb-rule-param-suffix{font-size:.75rem;color:var(--text-secondary, #64748b)}.sb-skill-tag-list{display:flex;flex-wrap:wrap;gap:.375rem}.sb-skill-tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .4rem .25rem .625rem;background:#f1f5f9;border:1px solid var(--border-color, #e2e8f0);border-radius:999px;font-size:.75rem;font-weight:500;color:var(--text-primary, #0f172a)}.sb-skill-tag-remove{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:.95rem;line-height:1;cursor:pointer;border-radius:50%;padding:0}.sb-skill-tag-remove:hover{background:#ef4444;color:#fff}.sb-zoom-group{display:inline-flex;align-items:center;gap:.125rem;padding:2px;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-sm, .375rem);background:var(--surface, #fff)}.sb-zoom-btn{min-width:1.6rem;height:1.6rem;padding:0 .4rem;border:none;background:transparent;color:var(--text-primary, #0f172a);font-size:.85rem;font-weight:600;cursor:pointer;border-radius:3px;line-height:1}.sb-zoom-btn:hover:not(:disabled){background:#f1f5f9}.sb-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.sb-zoom-label{min-width:2.4rem;text-align:center;font-size:.7rem;font-weight:600;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.sb-time-header{position:sticky;top:0;z-index:20;background:#f1f5f9;font-size:.7rem;font-weight:600;color:var(--text-secondary, #64748b);text-align:center;padding:.25rem .125rem;white-space:nowrap;min-width:var(--sb-cell-w, 56px);width:var(--sb-cell-w, 56px);border-bottom:2px solid #e2e8f0!important}.sb-action-col{position:sticky;right:0;top:0;z-index:20;background:#f1f5f9;width:56px;min-width:56px;border-bottom:2px solid #e2e8f0!important;border-left:2px solid #e2e8f0!important}.sb-tier-row td{background:#f8fafc;padding:0!important}.sb-tier-header{position:sticky;left:0;background:#f0f9e8;font-size:.7rem;font-weight:700;color:#4a7c14;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-right:2px solid #c3e6a0;white-space:nowrap}.sb-outlet-row:hover .sb-outlet-cell{background:#fafbff}.sb-outlet-cell{position:sticky;left:0;z-index:10;background:var(--surface, #fff);border-right:2px solid #e2e8f0!important;min-width:180px;width:180px;padding:.375rem .5rem;vertical-align:middle;text-align:center;cursor:default;transition:background .1s}.sb-outlet-name{font-size:.8rem;font-weight:600;color:var(--text-primary, #0f172a);line-height:1.2;margin-bottom:.125rem}.sb-outlet-meta{font-size:.7rem;color:var(--text-secondary, #64748b)}.sb-outlet-hours{margin-top:.125rem;font-size:.7rem;font-weight:600;color:#4a7c14;font-variant-numeric:tabular-nums}.sb-outlet-actions{display:flex;justify-content:center;gap:.25rem;margin-top:.25rem}.sb-grid-cell{position:relative;height:88px;min-width:var(--sb-cell-w, 56px);width:var(--sb-cell-w, 56px);padding:1px;vertical-align:top;cursor:crosshair;transition:background .1s;overflow:hidden}.sb-grid-cell:hover{outline:1px inset rgba(37,99,235,.25)}.sb-cell-closed{background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.04) 4px,rgba(0,0,0,.04) 8px);cursor:not-allowed}.sb-cell-drop-target{outline:2px dashed #2563eb!important}.sb-cell-over{background:rgba(var(--brand-primary-rgb),.15)!important}.sb-cell-under{background:#ef444414!important}.sb-assignment-chip{display:flex;align-items:center;gap:2px;padding:3px 5px;border-radius:4px;font-size:.7rem;font-weight:600;cursor:grab;margin-bottom:2px;line-height:1.3;min-height:22px;transition:filter .1s,transform .1s;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sb-assignment-chip:active{cursor:grabbing;transform:scale(.97);filter:brightness(.95)}.sb-assignment-chip.sb-chip-continuation{border-left:3px solid rgba(0,0,0,.25);border-radius:0 3px 3px 0}.sb-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.sb-validation-panel{background:var(--surface, #fff);border-top:2px solid #e2e8f0;flex:0 0 auto;max-height:200px;overflow-y:auto}.sb-validation-header{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.825rem;font-weight:600;color:var(--text-primary, #0f172a);cursor:pointer;position:sticky;top:0;background:var(--surface, #fff);border-bottom:1px solid #e2e8f0;z-index:5}.sb-validation-clear{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--primary-color, #2563eb);cursor:pointer;padding:.125rem .375rem;border-radius:3px}.sb-validation-clear:hover{background:#eff6ff}.sb-validation-group{padding:.25rem 1rem .5rem}.sb-validation-sev-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:.375rem 0 .25rem;display:block}.sb-validation-issue{display:flex;align-items:flex-start;gap:.5rem;font-size:.775rem;color:var(--text-primary, #0f172a);padding:.175rem 0;line-height:1.4}.sb-validation-issue:before{content:"•";flex:0 0 auto;margin-top:1px}.sb-sidebar{position:absolute;right:0;top:0;bottom:0;width:280px;background:var(--surface, #fff);border-left:1px solid var(--border-color, #e2e8f0);display:flex;flex-direction:column;overflow:hidden;z-index:15;transform:translate(280px);transition:transform .2s ease}.sb-layout.sidebar-open .sb-sidebar{transform:translate(0)}.sb-sidebar-header{display:flex;align-items:center;padding:.625rem .75rem;border-bottom:1px solid #e2e8f0;gap:.5rem;flex:0 0 auto}.sb-sidebar-header h3{margin:0;font-size:.875rem;font-weight:600;flex:1}.sb-resource-search{flex:0 0 auto;padding:.375rem .625rem;border:1px solid #e2e8f0;border-radius:var(--radius-sm, .375rem);font-size:.8rem;width:100%;margin:.5rem .75rem 0;box-sizing:border-box;color:var(--text-primary, #0f172a);background:var(--surface, #fff)}.sb-org-tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:.375rem .75rem;border-bottom:1px solid #e2e8f0;flex:0 0 auto}.sb-org-tab{font-size:.7rem;font-weight:600;padding:.175rem .5rem;border-radius:20px;border:1px solid #e2e8f0;background:#f8fafc;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .1s;white-space:nowrap}.sb-org-tab:hover{border-color:var(--brand-primary);color:#4a7c14}.sb-org-tab.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.sb-resource-list{flex:1 1 0;min-height:0;overflow-y:auto;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.5rem}.sb-resource-card{border:1px solid #e2e8f0;border-radius:var(--radius-md, .5rem);padding:.5rem .625rem;cursor:grab;background:var(--surface, #fff);transition:border-color .15s,box-shadow .15s;user-select:none}.sb-resource-card:hover{border-color:var(--brand-primary);box-shadow:0 1px 4px rgba(var(--brand-primary-rgb),.2)}.sb-resource-card:active{cursor:grabbing;box-shadow:0 2px 8px #0000001f;transform:scale(.98)}.sb-resource-name{font-size:.8rem;font-weight:600;color:var(--text-primary, #0f172a);line-height:1.3}.sb-resource-meta{font-size:.7rem;color:var(--text-secondary, #64748b);margin-top:.125rem}.sb-org-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:.1rem .375rem;border-radius:20px;background:#eff6ff;color:#1d4ed8;margin-right:.25rem}.sb-org-badge.customer{background:#fef3c7;color:#92400e}.sb-skill-chips{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.25rem}.sb-skill-chip{font-size:.6rem;padding:.1rem .35rem;border-radius:20px;background:#f1f5f9;color:var(--text-secondary, #64748b);border:1px solid #e2e8f0}.sb-resource-actions{display:flex;gap:.25rem;margin-top:.375rem}.sb-mini-btn{font-size:.7rem;padding:.15rem .5rem;border:1px solid #e2e8f0;border-radius:var(--radius-sm, .375rem);background:#f8fafc;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .1s;white-space:nowrap}.sb-mini-btn:hover{background:#e2e8f0;color:var(--text-primary, #0f172a)}.sb-danger-btn{color:#ef4444;border-color:#fecaca;background:#fff5f5}.sb-danger-btn:hover{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.sb-issues-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;line-height:1}.sb-context-menu{position:fixed;z-index:9999;background:var(--surface, #fff);border:1px solid #e2e8f0;border-radius:var(--radius-md, .5rem);box-shadow:0 4px 16px #0000001f;overflow:hidden;min-width:160px}.sb-context-menu button{display:block;width:100%;text-align:left;padding:.5rem .875rem;font-size:.825rem;border:none;background:transparent;color:var(--text-primary, #0f172a);cursor:pointer;transition:background .1s}.sb-context-menu button:hover{background:#f1f5f9}.sb-context-menu .sb-context-danger{color:#ef4444}.sb-context-menu .sb-context-danger:hover{background:#fee2e2}.sb-wide-modal .modal-content{max-width:760px;width:95vw}.sb-hours-grid{display:grid;grid-template-columns:44px repeat(8,1fr);gap:2px;font-size:.78rem}.sb-hours-day-col.all-col{background:#f0f9e8;border-color:#c3e6a0}.sb-hours-day-col.all-col .sb-hours-day-name{color:#4a7c14}.sb-hours-label-col{display:flex;align-items:center;font-size:.72rem;font-weight:600;color:var(--text-secondary, #64748b);padding:.25rem 0}.sb-hours-day-col{display:flex;flex-direction:column;align-items:center;gap:3px;padding:.25rem .125rem;border-radius:6px;background:#f8fafc;border:1px solid #e2e8f0;transition:background .1s}.sb-hours-day-col.is-closed{background:#f1f5f9;opacity:.6}.sb-hours-day-name{font-size:.7rem;font-weight:700;color:var(--text-primary, #0f172a)}.sb-hours-closed-btn{font-size:.6rem;font-weight:700;padding:.1rem .3rem;border-radius:20px;border:1px solid #e2e8f0;background:#e2e8f0;color:var(--text-secondary, #64748b);cursor:pointer;white-space:nowrap;transition:all .1s}.sb-hours-closed-btn.active{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.sb-hours-time-input{width:100%;border:1px solid #e2e8f0;border-radius:4px;font-size:.7rem;padding:.2rem .1rem;text-align:center;color:var(--text-primary, #0f172a);background:var(--surface, #fff);box-sizing:border-box}.sb-hours-time-input:disabled{background:#f1f5f9;color:#94a3b8;border-color:transparent}.sb-demand-block{padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-md, .5rem);margin-bottom:.5rem;background:#fff}.sb-demand-skills{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-color, #e2e8f0)}.sb-demand-skills-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);margin-right:.25rem}.sb-skill-pill-sm{font-size:.7rem!important;padding:.1rem .45rem!important}.sb-demand-row{display:flex;align-items:center;gap:.75rem;padding:.25rem 0;font-size:.85rem}.sb-demand-row label{flex:0 0 80px;font-weight:600;font-size:.8rem;color:var(--text-secondary, #64748b)}.sb-demand-row input[type=range]{flex:1;accent-color:var(--brand-primary)}.sb-demand-row .demand-value{flex:0 0 28px;text-align:right;font-weight:700;font-size:.85rem;color:var(--text-primary, #0f172a)}.sb-skill-selector{display:flex;flex-wrap:wrap;gap:.375rem;padding:.5rem;border:1px solid #e2e8f0;border-radius:var(--radius-md, .5rem);min-height:48px;background:#fafbff}.sb-skill-pill{font-size:.75rem;padding:.2rem .6rem;border-radius:20px;border:1px solid #e2e8f0;background:#f1f5f9;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s;user-select:none}.sb-skill-pill:hover{border-color:var(--brand-primary);color:#4a7c14}.sb-skill-pill.selected{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;font-weight:600}.sb-rule-row{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .5rem;border-bottom:1px solid #f1f5f9;cursor:pointer;border-radius:6px;transition:background .1s}.sb-rule-row:last-child{border-bottom:none}.sb-rule-row:hover{background:#f8fafc}.sb-rule-row input[type=checkbox]{margin-top:3px;flex-shrink:0;width:15px;height:15px;accent-color:var(--brand-primary);cursor:pointer}.sb-share-list{display:flex;flex-direction:column;gap:.5rem}.sb-share-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:var(--radius-md, .5rem);background:#fafbff;font-size:.825rem}.sb-share-row .share-label{flex:1;font-weight:600;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-share-row .share-url{font-size:.75rem;color:var(--text-secondary, #64748b);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:2}@media(max-width:768px){.sb-layout.sidebar-open .sb-grid-area{margin-right:0}.sb-layout.sidebar-open .sb-sidebar{width:100%;transform:translate(0);position:fixed;top:60px;left:0;right:0;z-index:40}.sb-corner,.sb-outlet-cell{min-width:120px;width:120px}.sb-time-header,.sb-grid-cell{min-width:44px;width:44px}}.app{min-height:100vh;display:flex;flex-direction:row}@keyframes context-banner-pulse{0%,to{background-color:#f0fdf4;box-shadow:inset 0 0 rgba(var(--brand-primary-rgb),0)}50%{background-color:#bbf7d0;box-shadow:inset 0 0 0 9999px rgba(var(--brand-primary-rgb),.08)}}@keyframes context-banner-pulse-warn{0%,to{background-color:#fffbeb;box-shadow:inset 0 0 #f59e0b00}50%{background-color:#fde68a;box-shadow:inset 0 0 0 9999px #f59e0b1a}}.context-banner--pulse{animation:context-banner-pulse 3.5s ease-in-out infinite}.context-banner--pulse-warn{animation:context-banner-pulse-warn 2.5s ease-in-out infinite}.context-banner--pulse:hover,.context-banner--pulse-warn:hover{animation-play-state:paused;filter:brightness(.97)}.global-help-button{position:fixed;bottom:4.75rem;right:1.5rem;z-index:1100;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#f1f5f9;border:none;border-radius:999px;font-size:.825rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0000002e,0 0 0 1px #ffffff0d;transition:transform .15s ease,box-shadow .15s ease}.global-help-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000003d,0 0 0 1px #ffffff14}.global-help-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media(max-width:540px){.global-help-button-label{display:none}.global-help-button{padding:.6rem .7rem}}@media(max-width:768px){.global-help-button{bottom:calc(60px + env(safe-area-inset-bottom,0px) + .75rem);right:.75rem}.foxtrot-launcher{display:none!important}.foxtrot-panel{inset:0!important;width:100vw!important;height:100vh!important;border-radius:0!important}}@media(prefers-reduced-motion:reduce),(max-width:768px){.context-banner--pulse,.context-banner--pulse-warn{animation:none}}@media(max-width:768px){.btn-mobile-hide{display:none!important}}@media(max-width:768px){body .app-main>div[style*="position: sticky"][style*="z-index: 500"]{flex-direction:column!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){[style*=skeleton-shimmer]{animation:none!important}}.app-main{flex:1;margin-left:250px;min-height:100vh;transition:margin-left .3s ease;--app-sidebar-w: 250px}.app-main.nav-collapsed{margin-left:70px;--app-sidebar-w: 70px}.modal-overlay--panel{left:var(--app-sidebar-w, 0)!important}.modal-content.modal-lg{width:80%!important;max-width:none!important;height:80%!important;max-height:none!important;display:flex!important;flex-direction:column!important}.modal-content.modal-lg>.modal-body{flex:1;overflow-y:auto}@media(max-width:768px){.app{width:100%;overflow-x:hidden}.app-main{margin-left:0;width:100%;min-width:0;padding-top:52px;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.app-main.nav-collapsed{margin-left:0}.app-main,.app-main.nav-collapsed{--app-sidebar-w: 0px}.project-switcher-overlay{left:0!important}}:root{--primary-color: var(--brand-primary);--primary-dark: var(--brand-primary-dark);--primary-light: var(--brand-primary-light);--secondary-color: #64748b;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--background: #f8fafc;--surface: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--brand-primary: #3B6EA5;--brand-primary-rgb: 59, 110, 165;--brand-primary-dark: #305987;--brand-primary-light: #E1E9F2;--brand-accent: #C2703D;--brand-accent-rgb: 194, 112, 61}body{font-family:Aptos,Aptos Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:12pt;background:var(--background);color:var(--text-primary);line-height:1.6}.page-container{max-width:1400px;margin:0 auto;padding:2rem;animation:pageEnter .18s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page-container{animation:none}}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.page-title{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:0}.page-description{font-size:1rem;color:var(--text-secondary)}.lock-zone{border:0;margin:0;padding:0;min-inline-size:0;display:block}.lock-zone--locked{opacity:.92}.lock-zone--locked :disabled{cursor:default}.record-lock-fab{transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.record-lock-fab:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 6px 20px #00000047!important}.record-lock-fab:active{transform:translateY(0)}@keyframes payPcPulse{0%,to{opacity:.35}50%{opacity:1}}.pay-pc-pulse{animation:payPcPulse 2.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.pay-pc-pulse{animation:none;opacity:.9}}@keyframes payPcWatermarkPulse{0%,to{opacity:.35}50%{opacity:.7}}.pay-pc-watermark{animation:payPcWatermarkPulse 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.pay-pc-watermark{animation:none;opacity:.55}}.card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all .2s;margin-bottom:1.5rem}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.card-body{padding:1.5rem}.card-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--background);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-label.required:after{content:"*";color:var(--danger-color);margin-left:.25rem}.form-input,.form-textarea,.form-select{width:100%;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s;background:var(--surface);color:var(--text-primary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-textarea{resize:vertical;min-height:100px}.form-input::placeholder{color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.25rem;padding:0 1.25rem;font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap;box-sizing:border-box}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-secondary:hover{background:#475569}.btn-success{background:var(--success-color);color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover{background:#dc2626}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{background:var(--background)}.btn-sm{height:1.875rem;padding:0 .75rem;font-size:.8125rem}.btn-info{background:#0ea5e9;color:#fff}.btn-info:hover{background:#0284c7}.btn-group{display:flex;gap:.75rem;flex-wrap:wrap}.grid{display:grid;gap:1.5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(1,minmax(0,1fr))}}.grid-auto,.grid-auto-tight,.grid-auto-wide{display:grid;gap:.75rem}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-auto-tight{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid-auto-wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.alert{padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem;border-left:4px solid}.alert-info{background:#dbeafe;border-left-color:var(--primary-color);color:#1e40af}.alert-success{background:#d1fae5;border-left-color:var(--success-color);color:#065f46}.alert-warning{background:#fef3c7;border-left-color:var(--warning-color);color:#92400e}.alert-danger{background:#fee2e2;border-left-color:var(--danger-color);color:#991b1b}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes utilDownloadIndeterminate{0%{transform:translate(-50%)}to{transform:translate(250%)}}@media(max-width:1024px){.page-container{padding:1.5rem}}@media(max-width:768px){.context-banner{top:52px!important}.page-container{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.page-title{font-size:1.375rem}.card{margin-bottom:1rem}.card-header,.card-body{padding:1rem}.form-grid,.form-row{grid-template-columns:1fr!important;display:grid;gap:0}.btn-group{flex-direction:column;gap:.5rem}.btn{padding:.75rem 1rem;font-size:.9rem;min-height:44px}.btn-sm{padding:.5rem .75rem;font-size:.8rem;min-height:36px}.form-input,.form-textarea,.form-select{font-size:1rem;padding:.75rem .875rem;min-height:44px}.modal-overlay{padding:.75rem;align-items:center}.modal-content{width:100%!important;max-width:100%!important;max-height:92vh;overflow-y:auto}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.alert{font-size:.875rem}}@media(max-width:480px){.page-container{padding:.75rem}.page-title{font-size:1.25rem}.card-header,.card-body{padding:.875rem}}.read-only-mode input,.read-only-mode textarea,.read-only-mode select{pointer-events:none;background-color:var(--background)!important;color:var(--text-secondary)!important;cursor:default!important}.read-only-mode .btn:not(.btn-primary[href]):not(.btn-secondary[href]){pointer-events:none;opacity:.4!important;cursor:not-allowed!important}.read-only-mode a.btn{pointer-events:all!important;opacity:1!important}input[type=date]:not(:disabled):not([readonly]),input[type=datetime-local]:not(:disabled):not([readonly]),input[type=month]:not(:disabled):not([readonly]),input[type=time]:not(:disabled):not([readonly]),input[type=week]:not(:disabled):not([readonly]){cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=week]::-webkit-calendar-picker-indicator{cursor:pointer}.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}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Aptos,Aptos Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:12pt;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:768px){html{overflow-x:hidden}body{overflow-x:hidden;width:100%;position:relative}}#root{width:100%;min-height:100vh}
