.auth-screen{height:100%;display:grid;place-items:center;padding:24px;background:var(--background)}.auth-card{width:min(400px,92vw);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:30px 28px;box-shadow:var(--shadow-2)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-logo{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--primary);display:grid;place-items:center;font-weight:800;font-size:20px;color:var(--primary-foreground)}.auth-title{font-size:18px;font-weight:600;color:var(--foreground);letter-spacing:-.01em}.auth-sub{font-size:12.5px;color:var(--muted-foreground)}.auth-tabs{display:flex;gap:3px;background:var(--secondary);border-radius:var(--radius-md);padding:3px;margin-bottom:22px}.auth-tab{flex:1;border:none;background:transparent;color:var(--muted-foreground);padding:8px;border-radius:calc(var(--radius-md) - 2px);font-size:13px;font-weight:500}.auth-tab.active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-1)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field span{font-size:12px;color:var(--foreground);font-weight:500}.auth-field input{background:var(--background);border:1px solid var(--input);border-radius:var(--radius-md);color:var(--foreground);padding:9px 12px;font-size:14px}.auth-field input:focus{outline:2px solid var(--ring);outline-offset:-1px;border-color:var(--ring)}.auth-error{background:color-mix(in oklab,var(--destructive) 12%,transparent);border:1px solid color-mix(in oklab,var(--destructive) 40%,transparent);color:var(--destructive);font-size:12.5px;padding:8px 10px;border-radius:var(--radius-md)}.auth-submit{justify-content:center;height:40px;margin-top:2px}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--muted-foreground);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-google{width:100%;justify-content:center;height:40px}.auth-note{background:color-mix(in oklab,var(--primary) 7%,transparent);border:1px solid var(--border);color:var(--muted-foreground);font-size:12.5px;line-height:1.5;padding:8px 10px;border-radius:var(--radius-md);margin-bottom:14px}.auth-form .auth-note{margin-bottom:0}.auth-back{margin-top:18px;text-align:center;font-size:13px}.auth-back a{color:var(--muted-foreground);text-decoration:none}.auth-back a:hover{color:var(--foreground)}.auth-status-icon{font-size:34px;text-align:center;margin:6px 0 10px}.auth-status-title{text-align:center;font-size:18px;font-weight:600;color:var(--foreground);margin:0 0 10px}.auth-status-text{color:var(--muted-foreground);font-size:13.5px;line-height:1.6;text-align:center;margin:0 0 20px}.auth-status-text b{color:var(--foreground)}.auth-signout{width:100%;justify-content:center;height:40px}.landing{min-height:100%;display:flex;flex-direction:column;background:var(--background);color:var(--foreground);overflow-y:auto;overflow-x:hidden}.landing-nav{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,48px)}.landing-brand{display:flex;align-items:center;gap:10px;font-weight:650;font-size:15px;letter-spacing:-.01em}.landing-logo{width:30px;height:30px;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);display:grid;place-items:center;font-weight:800;font-size:16px}.landing-nav-actions{display:flex;align-items:center;gap:10px}.landing-nav-actions .btn,.hero-cta .btn{text-decoration:none}.landing-hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;overflow:hidden}.hills-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.hero-content{position:relative;z-index:10;text-align:center;padding:0 20px;transform:translateY(-4vh)}.hero-title{margin:0 0 26px;line-height:1.04;letter-spacing:-.02em}.hero-title-thin{display:block;font-size:clamp(30px,5.2vw,58px);font-weight:250;font-style:italic;letter-spacing:-.01em;padding-right:.08em}.hero-title-bold{display:block;font-size:clamp(38px,6.6vw,76px);font-weight:800;letter-spacing:-.035em}.hero-lede{margin:0 auto 30px;max-width:620px;font-size:clamp(13.5px,1.5vw,15.5px);line-height:1.7;color:var(--muted-foreground)}.hero-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn.lg{height:46px;padding:0 24px;font-size:14.5px;border-radius:calc(var(--radius-md) + 2px)}.hero-note{margin-top:16px;font-size:12.5px;color:var(--muted-foreground);opacity:.85}.landing-main{position:relative;z-index:2;width:min(1020px,100%);margin:0 auto;padding:0 clamp(20px,5vw,48px)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;padding:clamp(20px,4vh,44px) 0 clamp(36px,6vh,64px)}.landing-feature{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:22px 20px}.landing-feature-icon{width:36px;height:36px;display:grid;place-items:center;font-size:17px;border-radius:var(--radius-md);background:var(--secondary);border:1px solid var(--border);margin-bottom:14px}.landing-feature-title{font-weight:600;font-size:14.5px;margin-bottom:6px;letter-spacing:-.01em}.landing-feature-text{font-size:13px;line-height:1.55;color:var(--muted-foreground)}.landing-how{border-top:1px solid var(--border);padding:clamp(28px,5vh,48px) 0 clamp(40px,7vh,72px);max-width:640px;margin:0 auto}.landing-how h2{font-size:18px;font-weight:650;letter-spacing:-.01em;margin:0 0 16px;text-align:center}.landing-how ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;color:var(--muted-foreground);font-size:14px;line-height:1.6}.landing-how b{color:var(--foreground);font-weight:600}.landing-footer{border-top:1px solid var(--border);padding:18px clamp(20px,5vw,48px);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted-foreground)}.landing-footer-dim{opacity:.8}@media(max-width:560px){.hero-br{display:none}}.share-modal{width:min(560px,94vw)}.share-invite-row{display:flex;gap:10px}.share-invite-row input{flex:1}.share-invite-row:has(.upicker){align-items:flex-start}.share-hint{font-size:12.5px;color:var(--muted-foreground);line-height:1.5;margin:8px 0 4px}.share-notice{font-size:12.5px;line-height:1.5;padding:8px 10px;border-radius:var(--radius-md);margin-top:10px;border:1px solid var(--border)}.share-notice.ok{color:#137738;background:color-mix(in oklab,oklch(.55 .15 150) 8%,transparent);border-color:color-mix(in oklab,oklch(.55 .15 150) 35%,transparent)}.share-notice.warn{color:oklch(.55 .12 70);background:color-mix(in oklab,oklch(.6 .13 70) 9%,transparent);border-color:color-mix(in oklab,oklch(.6 .13 70) 35%,transparent)}.share-section{margin-top:18px}.share-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);margin-bottom:8px}.share-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.share-row:last-child{border-bottom:none}.share-row-main{flex:1;min-width:0}.share-row-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-row-sub{font-size:12px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-loading{padding:8px 0}.share-owner-tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:2px 9px}.share-danger{color:var(--destructive)}.upicker{position:relative;flex:1;min-width:0}.upick-control{display:flex;align-items:flex-start;gap:8px;background:var(--background);border:1px solid var(--input);border-radius:var(--radius-md);padding:6px 10px;cursor:text;min-height:38px}.upick-control.open{outline:2px solid var(--ring);outline-offset:-1px;border-color:var(--ring)}.upick-search-icon,.upick-caret{color:var(--muted-foreground);flex:none;margin-top:5px;font-size:14px}.upick-tokens{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.upick-chip{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:500;background:var(--secondary, var(--muted));color:var(--foreground);border:1px solid var(--border);border-radius:999px;padding:2px 4px 2px 9px;max-width:100%}.upick-chip-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:999px;background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:11px;padding:0}.upick-chip-x:hover{background:var(--border);color:var(--foreground)}.modal .upick-input,.upick-input{flex:1;min-width:120px;width:auto;border:none;outline:none;background:transparent;padding:4px 0;margin:0;font-size:13.5px;color:var(--foreground)}.modal .upick-input:focus,.upick-input:focus{outline:none;border:none}.upick-menu{position:absolute;z-index:70;top:calc(100% + 4px);left:0;right:0;max-height:264px;overflow-y:auto;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:4px}.upick-empty{padding:12px;font-size:12.5px;color:var(--muted-foreground)}.upick-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:none;border-radius:var(--radius-md);padding:6px 8px;cursor:pointer;color:var(--foreground);font-family:inherit}.upick-row.active:not(.disabled){background:var(--accent, var(--muted))}.upick-row.disabled{opacity:.55;cursor:default}.upick-avatar{flex:none;width:26px;height:26px;border-radius:999px;display:grid;place-items:center;font-size:11.5px;font-weight:700;background:var(--muted);color:var(--muted-foreground)}.upick-id{flex:1;min-width:0;display:block}.upick-name{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upick-email{display:block;font-size:11.5px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upick-tag,.upick-why{flex:none;font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:1px 7px;white-space:nowrap}.upick-tick{flex:none;color:var(--foreground)}.upick-summary{font-size:12.5px;color:var(--muted-foreground);margin:8px 0 0}.imp-window{position:fixed;z-index:80;display:flex;flex-direction:column;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2),0 24px 60px #00000047;overflow:hidden}.imp-titlebar{flex:none;display:flex;align-items:center;gap:10px;padding:11px 12px 11px 16px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--foreground) 4%,var(--popover));cursor:grab;user-select:none;touch-action:none}.imp-titlebar:active{cursor:grabbing}.imp-title{flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground);cursor:pointer}.imp-close:hover{background:color-mix(in oklab,var(--foreground) 10%,transparent);color:var(--foreground)}.imp-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 16px 0}.imp-hint{flex:none;font-size:12.5px;color:var(--muted-foreground);line-height:1.5;margin-bottom:10px}.imp-footer{flex:none;display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.imp-resize{position:absolute;touch-action:none}.imp-resize.n,.imp-resize.s{left:10px;right:10px;height:6px;cursor:ns-resize}.imp-resize.e,.imp-resize.w{top:10px;bottom:10px;width:6px;cursor:ew-resize}.imp-resize.n{top:-1px}.imp-resize.s{bottom:-1px}.imp-resize.w{left:-1px}.imp-resize.e{right:-1px}.imp-resize.ne,.imp-resize.nw,.imp-resize.se,.imp-resize.sw{width:14px;height:14px}.imp-resize.nw{top:-1px;left:-1px;cursor:nwse-resize}.imp-resize.se{bottom:-1px;right:-1px;cursor:nwse-resize}.imp-resize.ne{top:-1px;right:-1px;cursor:nesw-resize}.imp-resize.sw{bottom:-1px;left:-1px;cursor:nesw-resize}.imp-strip{flex:1;min-height:0;display:flex;align-items:stretch;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);margin-bottom:10px}.imp-col{flex:1 0 250px;min-width:250px;max-width:340px;display:flex;flex-direction:column;border-right:1px solid var(--border)}.imp-col.wide{flex:0 0 270px;min-width:270px;max-width:300px}.imp-col:last-child{border-right:none}.imp-col-head{flex:none;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);padding:8px 10px;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-col-body{flex:1;min-height:0;overflow-y:auto;padding:4px}.imp-empty{padding:10px;font-size:12px;color:var(--muted-foreground)}.imp-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;color:var(--foreground);border-radius:var(--radius-md);padding:6px 8px;cursor:pointer;font-family:inherit}.imp-row:hover:not(.disabled):not(.active):not(.checked){background:color-mix(in oklab,var(--foreground) 9%,transparent);color:var(--foreground)}.imp-row.checked:not(.active),.imp-row.checked:not(.active):hover{background:color-mix(in oklab,var(--foreground) 14%,transparent);color:var(--foreground);font-weight:550}.imp-row.active,.imp-row.active:hover,.imp-row.active.checked{background:var(--primary);color:var(--primary-foreground)}.imp-row.active .imp-row-sub,.imp-row.active .imp-row-go,.imp-row.active .imp-row-icon{color:var(--primary-foreground);opacity:.8}.imp-row.disabled,.imp-row.disabled:hover{background:transparent;color:color-mix(in oklab,var(--foreground) 55%,transparent);cursor:default}.imp-row.disabled .imp-row-sub{color:color-mix(in oklab,var(--muted-foreground) 80%,transparent)}.imp-row:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.imp-row-icon{flex:none;display:inline-flex;font-size:15px;color:var(--muted-foreground)}.imp-row-icon svg{width:16px;height:16px}.imp-row-id{flex:1;min-width:0}.imp-row-title{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-row-sub{display:block;font-size:11px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-row-go{flex:none;color:var(--muted-foreground);font-size:13px}.imp-row-check{flex:none;font-size:12px;font-weight:700}.imp-detail{padding:8px}.imp-detail-thumb{display:block;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;margin-bottom:10px}.imp-detail-thumb.placeholder{display:grid;place-items:center;height:130px;background:var(--muted);color:var(--muted-foreground);font-size:26px}.imp-detail-name{font-size:13px;font-weight:600;margin-bottom:8px;word-break:break-word}.imp-detail-facts{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:11.5px}.imp-detail-facts dt{color:var(--muted-foreground)}.imp-detail-facts dd{margin:0}.imp-basket-wrap{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.imp-basket{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;max-height:96px;overflow-y:auto}.imp-clear{flex:none;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground);font-family:inherit;font-size:12px;padding:3px 10px;cursor:pointer;margin-top:1px}.imp-clear:hover{color:var(--foreground);background:color-mix(in oklab,var(--foreground) 8%,transparent)}.imp-chip{display:inline-flex;align-items:center;gap:2px;font-size:12px;background:var(--secondary, var(--muted));color:var(--foreground);border:1px solid var(--border);border-radius:999px;padding:2px 3px 2px 9px;max-width:300px;min-width:0}.imp-chip-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-chip-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:none;border-radius:999px;background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:11px;padding:0}.imp-chip-x:hover{background:color-mix(in oklab,var(--foreground) 14%,transparent);color:var(--foreground)}.imp-count{flex:1;font-size:12.5px;color:var(--muted-foreground)}.email-chip{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.02em;padding:1.5px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted-foreground);vertical-align:1px;margin-left:6px;cursor:default}.email-chip.queued,.email-chip.sending{color:oklch(.55 .12 70);border-color:color-mix(in oklab,oklch(.6 .13 70) 40%,transparent);background:color-mix(in oklab,oklch(.6 .13 70) 9%,transparent)}.email-chip.sent{color:#137738;border-color:color-mix(in oklab,oklch(.55 .15 150) 40%,transparent);background:color-mix(in oklab,oklch(.55 .15 150) 8%,transparent)}.email-chip.failed{color:var(--destructive);border-color:color-mix(in oklab,var(--destructive) 40%,transparent);background:color-mix(in oklab,var(--destructive) 8%,transparent)}.share-email-error{color:var(--destructive)}.share-modal .btn{text-decoration:none}.invite-page{display:grid;place-items:center}.invite-card{width:min(520px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);padding:34px 30px;text-align:center;margin-top:6vh}.invite-icon{font-size:34px;margin-bottom:12px}.invite-card h2{font-size:19px;font-weight:650;margin:0 0 10px;letter-spacing:-.01em}.invite-text{font-size:13.5px;line-height:1.65;color:var(--muted-foreground)}.invite-text b{color:var(--foreground)}.invite-error{margin-top:14px;text-align:left}.invite-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.app-splash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--background)}.app-splash-logo{width:52px;height:52px;border-radius:var(--radius-lg);background:var(--primary);display:grid;place-items:center;font-weight:800;font-size:26px;color:var(--primary-foreground)}.topnav{height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--card);border-bottom:1px solid var(--border);flex:0 0 auto}.topnav-brand{display:flex;align-items:center;gap:9px}.topnav-logo{width:26px;height:26px;border-radius:var(--radius-md);background:var(--primary);display:grid;place-items:center;font-weight:800;font-size:14px;color:var(--primary-foreground)}.topnav-name{font-weight:600;font-size:14.5px;color:var(--foreground);letter-spacing:-.01em}.topnav-crumbs{display:flex;align-items:center;gap:2px;color:var(--muted-foreground);font-size:13px;margin-left:4px}.crumb-sep{margin:0 7px;color:var(--border)}.crumb-link{background:none;border:1px solid transparent;color:var(--muted-foreground);font-size:13px;padding:2px 6px;margin:-3px -7px;border-radius:7px}.crumb-link:hover{color:var(--foreground)}.crumb-link.drop-into{border-color:var(--select, var(--primary));background:color-mix(in oklab,var(--select, var(--primary)) 16%,transparent);color:var(--foreground)}.topnav-crumbs b{color:var(--foreground);font-weight:600}.topnav-spacer{flex:1}.account{position:relative}.account-btn{position:relative;border:none;background:none;padding:0}.account-pending-badge{position:absolute;top:-5px;right:-7px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--destructive);color:#fff;border:2px solid var(--card);font-size:10px;font-weight:700;line-height:1;display:grid;place-items:center;pointer-events:none}.account-avatar{width:30px;height:30px;border-radius:50%;background:var(--secondary);border:1px solid var(--border);color:var(--foreground);display:grid;place-items:center;font-weight:600;font-size:13px}.account-avatar:hover{border-color:var(--ring)}.account-menu{position:absolute;right:0;top:40px;width:224px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);z-index:30;overflow:hidden}.account-info{padding:14px;border-bottom:1px solid var(--border)}.account-name{font-weight:600;font-size:14px;color:var(--foreground)}.account-email{font-size:12px;color:var(--muted-foreground);margin:2px 0 8px;overflow:hidden;text-overflow:ellipsis}.role-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:var(--secondary);color:var(--muted-foreground);border:1px solid var(--border)}.role-badge.admin{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.account-action{width:100%;text-align:left;border:none;background:none;color:var(--foreground);padding:11px 14px;font-size:13px}.account-action:hover{background:var(--accent)}.app-shell{height:100%;display:flex;flex-direction:column}.app-shell-body{flex:1;min-height:0}.sidebar-shell{height:100%;display:flex;min-height:0}.sidebar{width:250px;flex:none;display:flex;flex-direction:column;background:var(--background);border-right:1px solid var(--border);overflow:hidden;transition:width .16s ease}.sidebar.collapsed{width:68px}.sidebar-head{display:flex;align-items:center;gap:10px;padding:14px 12px 10px 22px;position:relative}.sidebar-home{display:flex;align-items:center;gap:10px;text-decoration:none;border-radius:var(--radius-md);padding:2px 6px 2px 2px;margin-left:-2px}.sidebar-home:hover{background:var(--muted)}.sidebar.collapsed .sidebar-home{padding:2px;margin-left:0}.sidebar-logo{width:44px;height:44px;border-radius:10px;flex:none}.sidebar-title{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--foreground)}.sidebar-collapse-btn{margin-left:auto;display:grid;place-items:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--muted-foreground);cursor:pointer;font-size:16px}.sidebar-collapse-btn:hover{background:var(--muted);color:var(--foreground)}.sidebar.collapsed .sidebar-head{flex-direction:column;gap:6px;padding:12px 0 6px}.sidebar.collapsed .sidebar-collapse-btn{margin-left:0}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px 10px;overflow-y:auto}.sidebar-gap{height:14px;flex:none}.sidebar-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:999px;color:var(--foreground);text-decoration:none;min-height:36px}.sidebar-item:hover{background:var(--muted)}.sidebar-item.active{background:color-mix(in oklab,var(--primary) 11%,var(--background));font-weight:600}.sidebar-item-icon{display:grid;place-items:center;flex:none}.sidebar-item-icon svg{width:20px;height:20px}.sidebar-item-text{display:flex;flex-direction:column;min-width:0}.sidebar-item-label{font-size:14px;line-height:1.25;white-space:nowrap}.sidebar-item-sub{font-size:11.5px;color:var(--muted-foreground);font-weight:400;white-space:nowrap}.sidebar.collapsed .sidebar-item{justify-content:center;padding:8px 0;border-radius:var(--radius-lg)}.sidebar-content{flex:1;min-width:0;position:relative;display:flex;flex-direction:column}.sidebar-corner{position:absolute;top:10px;right:18px;z-index:60}.page-crumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:14px 74px 0 32px;max-width:1100px;margin:0 auto;width:100%;font-size:13.5px;color:var(--muted-foreground)}.page-crumbs:empty{display:none}.sidebar-content .page{--crumbsH: 44px}.sidebar-content .page-crumbs{position:sticky;top:0;z-index:46;background:var(--background);padding:12px 74px 10px 32px;min-height:44px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}.sidebar-content .page-inner{padding-top:14px;min-height:calc(100% - var(--crumbsH, 44px))}.account-action.account-theme{display:flex;align-items:center;gap:8px}.tm-table{width:100%;border-collapse:collapse;margin-top:10px}.tm-table th{text-align:left;border-bottom:1px solid var(--border);padding:0 12px}.tm-table td{padding:10px 12px;border-bottom:1px solid color-mix(in oklab,var(--border) 62%,transparent);font-size:13.5px;color:var(--foreground);vertical-align:middle}.tm-table tr:hover td{background:var(--accent)}.tm-name{display:flex;align-items:center;gap:10px;font-weight:550}.tm-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-you{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.tm-email,.tm-added{color:var(--muted-foreground)}.tm-table td:nth-child(3),.tm-table th:nth-child(3){width:156px;white-space:nowrap}.tm-table td:nth-child(4),.tm-table th:nth-child(4){width:150px}.tm-rename-btn{margin-left:6px;font-size:13px;opacity:0}.branch-head-title:hover .tm-rename-btn,.tm-rename-btn:focus-visible{opacity:1}.tm-empty{margin-top:18px;color:var(--muted-foreground);font-size:14px}.tm-empty p{margin:0 0 12px}.tm-add-modal .upicker{margin-bottom:12px}.team-role-select{flex:none;font-size:12.5px;padding:5px 8px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--foreground)}.tm-table .team-role-select{width:132px}.team-role{font-size:12px;font-weight:600;text-transform:capitalize;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:3px 10px}.team-role.owner{color:var(--primary);border-color:color-mix(in oklab,var(--primary) 45%,transparent)}.team-rename{display:flex;align-items:center;gap:6px}.team-rename input{font-size:15px;padding:5px 9px}.trash-list{display:flex;flex-direction:column;gap:8px}.trash-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 14px}.trash-row-icon{flex:none;font-size:22px;display:grid;place-items:center}.trash-row-icon .asset-icon{width:24px;height:24px}.trash-row-id{flex:1;min-width:0}.trash-row-name{font-size:14px;font-weight:600;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row-sub{font-size:12.5px;color:var(--muted-foreground)}.trash-row-actions{display:flex;align-items:center;gap:8px;flex:none}.trash-forever:hover{color:var(--destructive)}.trash-row-locked{font-size:12px;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:999px;padding:3px 10px;flex:none}.sidebar-item.readout{cursor:default}.sidebar-item.readout:hover{background:transparent}.sidebar-group-head{width:100%;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.sidebar-group-caret{margin-left:auto;flex:none;width:16px;height:16px;color:var(--muted-foreground);transition:transform .14s ease;transform:rotate(-90deg)}.sidebar-group-caret.open{transform:rotate(0)}.sidebar-item.sidebar-subitem{padding-left:34px;min-height:32px}.sidebar-item.sidebar-subitem .sidebar-item-icon svg{width:17px;height:17px}.proj-title-input{font:inherit;font-size:26px;font-weight:680;letter-spacing:-.025em;color:var(--foreground);background:var(--background);border:1.5px solid var(--primary);border-radius:var(--radius-md);padding:0 8px;margin-left:-9.5px;min-width:200px;width:min(60vw,640px)}.proj-cards-row{display:flex;align-items:stretch;justify-content:center;gap:14px;padding:4px 2px 10px;margin:14px 0 26px;overflow-x:auto;scrollbar-width:thin}.proj-cards-div{flex:0 0 auto;width:1px;background:var(--border);margin:6px 10px}.proj-cards-row .tool-card.matrix-card{width:148px;height:148px;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.branch-card-done{position:absolute;top:8px;right:8px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#1d9a4c;color:#fff;font-size:12px;border:2px solid var(--background)}.branch-card{position:relative;flex:0 0 auto;width:148px;height:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.branch-card.clickable{cursor:pointer}.branch-card.locked{cursor:not-allowed;opacity:.55;filter:saturate(.4)}.branch-card-logo{width:82px;height:82px;object-fit:contain}.branch-card-lock{position:absolute;top:8px;right:8px;display:inline-flex;color:var(--muted-foreground);font-size:14px}.branch-card-stale{position:absolute;bottom:8px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:10.5px;font-weight:650;padding:2px 7px;border-radius:999px;color:#7a4c00;background:#ffe9c2;border:1px solid #f2ce8a}.proj-cards-row .tool-card.matrix-card{position:relative}.matrix-check{position:absolute;top:8px;right:8px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#1d9a4c;color:#fff;font-size:12px;border:2px solid var(--background)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.branch-head-title{display:flex;align-items:center;gap:12px;min-width:0}.branch-head-logo{width:34px;height:34px;object-fit:contain;flex:0 0 auto}span.proj-head-icon{display:flex;align-items:center;justify-content:center;font-size:29px}.status-select.head-status{font-size:12px;padding:5px 9px;margin-left:6px;flex:0 0 auto}.branch-stale-banner{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:var(--radius-lg);border:1px solid #f2ce8a;background:color-mix(in oklab,#ffb02e 12%,var(--background));color:var(--foreground);margin:0 0 20px;font-size:13.5px}.branch-stale-banner>svg{flex:none;margin-top:2px;color:#b97b00}.branch-stale-sub{color:var(--muted-foreground);margin-top:3px}.branch-placeholder p{margin:4px 0}.matrix-confirmed-badge{color:#1d9a4c;border-color:color-mix(in oklab,#1d9a4c 45%,transparent)}.storage-measuring{color:var(--muted-foreground);font-size:20px}.impersonation-banner{display:flex;align-items:center;justify-content:center;gap:14px;padding:7px 16px;background:color-mix(in oklab,var(--destructive) 14%,var(--background));border-bottom:1px solid color-mix(in oklab,var(--destructive) 45%,transparent);color:var(--foreground);font-size:13px}.impersonation-banner b{font-weight:650}.sidebar-content .um-root.in-shell{flex:1;min-height:0;height:auto}.sidebar-content .um-root.in-shell .um-appbar{padding-right:74px}.readonly-note{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:9px 13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);color:var(--muted-foreground);font-size:13px;line-height:1.45}.readonly-note svg{flex:none;width:16px;height:16px;opacity:.75}.readonly-note b{color:var(--foreground);font-weight:620}.invite-inbox{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.invite-inbox-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-lg);padding:10px 14px;font-size:13.5px}.invite-inbox-row b{font-weight:600}.invite-inbox-text{display:inline-flex;align-items:center;flex-wrap:wrap}.invite-inbox-icon{margin-right:8px;flex:0 0 auto;color:var(--muted-foreground)}.card-action-danger{color:var(--destructive)}.dash-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground);margin:34px 0 14px}.page{height:100%;display:flex;flex-direction:column;background:var(--background)}.page-scroll{flex:1;overflow-y:auto;position:relative}.drop-overlay{position:sticky;top:0;height:0;z-index:40;pointer-events:none}.drop-overlay-inner{position:fixed;inset:var(--topbar-h) 0 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:color-mix(in oklab,var(--background) 78%,transparent);border:3px dashed var(--select);color:var(--foreground);font-size:18px;font-weight:600;backdrop-filter:blur(1px)}.drop-overlay-inner .drop-icon{font-size:40px;color:var(--select)}.page-scroll.drag-over .page-inner{filter:blur(.5px)}.page-inner{max-width:1100px;margin:0 auto;padding:44px 32px 96px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;gap:16px}.page-head.dash-head{margin-bottom:20px}.page-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.page-eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:7px}.page-title{font-size:26px;font-weight:680;letter-spacing:-.025em;color:var(--foreground)}.page-subtitle{color:var(--muted-foreground);font-size:14px;margin-top:7px;max-width:60ch;line-height:1.5}.dash-usage-figure{color:var(--foreground);font-weight:620;font-variant-numeric:tabular-nums}.section{margin-bottom:40px}.section:last-child{margin-bottom:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:11px;border-bottom:1px solid var(--border)}.section-head-left{display:flex;align-items:center;gap:10px}.section-head h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--foreground)}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:var(--secondary);color:var(--muted-foreground);font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.card-cta{margin-top:14px;font-size:13px;font-weight:600;color:var(--foreground)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:14px}.card{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-xl);padding:18px;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;position:relative;display:flex;flex-direction:column;min-height:132px}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--ring);box-shadow:var(--shadow-1);transform:translateY(-1px)}.card-icon{width:38px;height:38px;display:grid;place-items:center;font-size:30px;color:var(--foreground);margin-bottom:14px}.card-title{font-size:15px;font-weight:600;color:var(--foreground);letter-spacing:-.01em}.card-meta{font-size:12.5px;color:var(--muted-foreground);margin-top:6px;flex:1;line-height:1.5}.card-row-actions{display:flex;gap:6px;margin-top:14px}.card.deleting{opacity:.6;pointer-events:none}.card-deleting-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:color-mix(in oklab,var(--background),transparent 20%);backdrop-filter:blur(1px);border-radius:var(--radius-xl);color:var(--foreground);font-size:13px;font-weight:600}.card-deleting-overlay .prep-spinner{width:18px;height:18px;border-width:2px;margin:0}.sortable-card{display:flex;position:relative}.sortable-card-inner{display:flex;flex:1 1 auto;min-width:0}.sortable-card-inner>.card{flex:1 1 auto;width:100%}.sortable-drop-indicator{position:absolute;inset:0;border:2px dashed var(--ring);border-radius:var(--radius-xl);background:color-mix(in oklab,var(--accent),transparent 35%);pointer-events:none}.sortable-into-indicator{position:absolute;inset:-3px;border:2px solid var(--select, var(--primary));border-radius:calc(var(--radius-xl) + 3px);background:color-mix(in oklab,var(--select, var(--primary)) 16%,transparent);box-shadow:0 0 0 4px color-mix(in oklab,var(--select, var(--primary)) 22%,transparent);pointer-events:none}.proj-list .sortable-into-indicator{border-radius:calc(var(--radius-lg) + 3px)}.sortable-card.drop-into .sortable-card-inner>.item-row,.sortable-card.drop-into .sortable-card-inner>.card{border-color:var(--select, var(--primary))}.drag-overlay{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-2);will-change:transform}.drag-overlay .sortable-card-inner{display:flex;width:100%;height:100%}.drag-overlay .card{flex:1 1 auto;width:100%}body.sorting-active{cursor:grabbing;user-select:none}body.sorting-active .card.clickable:hover{border-color:var(--border);box-shadow:none;transform:none}body.sorting-active .item-row.clickable:hover{border-color:var(--border);box-shadow:none}body.sorting-active .item-row:hover .item-row-hint{opacity:0}.empty-state{text-align:center;color:var(--muted-foreground);padding:56px 20px;font-size:14px;line-height:1.6;border:1px dashed var(--border);border-radius:var(--radius-xl);background:var(--card)}.modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,black 45%,transparent);display:grid;place-items:center;z-index:60;padding:24px}.modal{width:min(440px,92vw);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-2)}.modal h3{margin:0 0 18px;font-size:17px;font-weight:600;letter-spacing:-.01em}.modal label{display:block;font-size:12px;color:var(--foreground);font-weight:500;margin-bottom:6px}.modal input,.modal textarea,.modal select{width:100%;background:var(--background);border:1px solid var(--input);border-radius:var(--radius-md);color:var(--foreground);padding:9px 12px;font-size:14px;margin-bottom:16px;font-family:inherit}.modal input:focus,.modal textarea:focus,.modal select:focus{outline:2px solid var(--ring);outline-offset:-1px;border-color:var(--ring)}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.upload-panel{margin-bottom:24px;border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;background:var(--card)}.upload-warning{font-size:13px;font-weight:600;color:var(--foreground);margin-bottom:12px;display:flex;align-items:center;gap:8px}.file-pick-row{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--foreground);font-size:14px;text-align:left}.file-pick-row:hover{background:var(--accent)}.file-pick-icon{font-size:18px}.upload-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;font-size:13px;color:var(--foreground)}.upload-row .bar{flex:1;height:6px;border-radius:999px;background:color-mix(in oklab,var(--muted-foreground) 22%,transparent);overflow:hidden}.upload-row .bar>div{height:100%;background:var(--primary);border-radius:999px;transition:width .2s}.item-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.item-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card)}.item-row.clickable{cursor:pointer}.item-row.clickable:hover{border-color:color-mix(in oklab,var(--primary) 45%,var(--border));box-shadow:var(--shadow-1)}.item-row.uploading{opacity:.66;background:color-mix(in oklab,var(--secondary) 60%,var(--card))}.item-row.deleting{opacity:.5;pointer-events:none}.item-icon{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:30px}.item-icon.table{color:var(--primary);font-size:20px}.item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.item-title{font-size:14px;font-weight:600;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta{font-size:12.5px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-badge.ok{color:var(--ok, #16a34a);font-weight:600}.item-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.item-row-hint{font-size:11.5px;color:var(--muted-foreground);opacity:0;transition:opacity .12s ease;white-space:nowrap;user-select:none}.item-row:hover .item-row-hint,.item-row-hint.show{opacity:.75}.item-date{font-size:12px;color:var(--muted-foreground);white-space:nowrap;min-width:88px;text-align:right}.btn.danger:hover{background:color-mix(in oklab,var(--destructive) 88%,black)}.proj-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);display:flex;align-items:center;gap:9px;max-width:min(640px,92vw);padding:11px 18px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-2);font-size:13.5px;z-index:70;cursor:pointer;animation:proj-toast-in .2s ease}.proj-toast-check{color:var(--ok, #16a34a);font-weight:700;flex:0 0 auto}@keyframes proj-toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.item-progress{display:flex;align-items:center;gap:10px;margin:2px 0}.item-phase{flex:0 0 auto;font-size:12px;color:var(--muted-foreground);white-space:nowrap}.item-progress .bar{flex:1;max-width:420px;height:6px;border-radius:999px;background:color-mix(in oklab,var(--muted-foreground) 22%,transparent);overflow:hidden}.item-progress .bar>div{height:100%;background:var(--primary);border-radius:999px;transition:width .2s}.item-progress .bar.stalled>div{background:linear-gradient(100deg,var(--primary) 30%,color-mix(in oklab,var(--primary) 45%,var(--background)) 50%,var(--primary) 70%);background-size:200% 100%;animation:prep-sweep 1.3s linear infinite}@keyframes prep-sweep{0%{background-position:200% 0}to{background-position:-100% 0}}.item-pct{flex:0 0 auto;font-size:12px;font-variant-numeric:tabular-nums;color:var(--foreground);min-width:36px;text-align:right}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card-title-row .card-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.status-chip{flex:0 0 auto;display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.status-chip.in_progress{color:#3b82f6;background:color-mix(in oklab,#3b82f6 12%,transparent);border-color:color-mix(in oklab,#3b82f6 36%,transparent)}.status-chip.under_review{color:#d97706;background:color-mix(in oklab,#d97706 12%,transparent);border-color:color-mix(in oklab,#d97706 38%,transparent)}.status-chip.finished{color:#16a34a;background:color-mix(in oklab,#16a34a 12%,transparent);border-color:color-mix(in oklab,#16a34a 38%,transparent)}.status-select{flex:0 0 auto;border:1px solid var(--border);background:var(--card);color:var(--foreground);font-size:12.5px;font-weight:600;font-family:inherit;border-radius:999px;padding:7px 10px;cursor:pointer}.status-select.in_progress{color:#3b82f6;border-color:color-mix(in oklab,#3b82f6 45%,var(--border))}.status-select.under_review{color:#d97706;border-color:color-mix(in oklab,#d97706 45%,var(--border))}.status-select.finished{color:#16a34a;border-color:color-mix(in oklab,#16a34a 45%,var(--border))}.status-select option{color:var(--foreground);background:var(--card)}.project-notes{white-space:pre-line}.card.proj-card{min-height:188px;gap:0}.proj-card-head{display:flex;align-items:center;gap:11px;min-width:0}.card-icon.proj-card-icon{margin-bottom:0;flex:0 0 auto}.proj-card-head .card-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-card-notes{flex:1;margin:14px 0;font-size:12.5px;line-height:1.55;color:var(--muted-foreground);white-space:pre-line;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.proj-card-extra{font-size:11.5px;color:var(--muted-foreground);margin-bottom:10px}.proj-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.status-select.proj-card-status{font-size:11.5px;padding:5px 8px}.proj-card-metrics{text-align:right;line-height:1.25;flex:0 0 auto}.proj-card-files{font-size:11.5px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.proj-card-size{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--foreground);font-variant-numeric:tabular-nums}.undo-redo{display:inline-flex;align-items:center;gap:2px}.hdr-icon-btn,.undo-redo-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--muted-foreground);border-radius:7px;font-size:16px;cursor:pointer;padding:0;flex:0 0 auto}.hdr-icon-btn:hover:not(:disabled),.undo-redo-btn:hover:not(:disabled){background:var(--accent);color:var(--foreground)}.hdr-icon-btn:disabled,.undo-redo-btn:disabled{opacity:.35;cursor:default}span.hdr-icon-btn{cursor:default}span.hdr-icon-btn:hover{background:none;color:var(--muted-foreground)}.hdr-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:none;background:none;padding:2px;border-radius:7px;cursor:pointer}.hdr-logo img{height:22px;width:auto;display:block}.hdr-logo:hover{background:var(--accent)}.nav-guard-toast{position:fixed;top:54px;left:50%;transform:translate(-50%);z-index:3000;max-width:min(480px,calc(100vw - 32px));padding:9px 14px;border-radius:10px;background:var(--foreground);color:var(--background);font-size:12.5px;box-shadow:var(--shadow-2);pointer-events:none}.nav-guard-toast.error{background:var(--destructive);color:#fff}.item-copying{color:var(--muted-foreground);font-weight:600}.prep-spinner.tiny{display:inline-block;width:9px;height:9px;border-width:1.5px;margin:0 3px 0 0;vertical-align:-1px}.del-warning{font-size:13px;line-height:1.6;padding:10px 12px;margin-bottom:12px;border-radius:var(--radius-md);color:var(--destructive);background:color-mix(in oklab,var(--destructive) 8%,transparent);border:1px solid color-mix(in oklab,var(--destructive) 35%,transparent)}.del-warning b{color:var(--destructive)}.dash-progress{height:6px;border-radius:999px;background:var(--muted);overflow:hidden;margin-bottom:12px}.dash-progress>div{height:100%;background:var(--foreground);transition:width .2s ease}.btn.danger{background:var(--destructive);border-color:var(--destructive);color:#fff}.btn.danger:hover:not(:disabled){background:color-mix(in oklab,var(--destructive),black 12%)}.btn.danger:disabled{opacity:.5;cursor:not-allowed}.dup-choices{display:grid;gap:8px;margin-bottom:18px}.dup-choice{display:block;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);color:var(--foreground);cursor:pointer;font-family:inherit}.dup-choice:hover{border-color:var(--ring);background:var(--accent, var(--muted))}.dup-choice b{display:block;font-size:13.5px;font-weight:600;margin-bottom:2px}.dup-choice span{display:block;font-size:12.5px;color:var(--muted-foreground);line-height:1.5}.dash-section-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:34px 0 14px}.dash-section-row.first{margin-top:0}.dash-section-row .dash-section-title{margin:0}.dash-section-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}.hdr-icon-btn.dash-new-btn{width:32px;height:32px;font-size:18px}.dash-section-actions .layout-toggle{margin-left:8px}.layout-toggle{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:999px;background:var(--card);overflow:hidden}.layout-seg{display:inline-flex;align-items:center;gap:5px;padding:5px 13px;border:0;background:transparent;color:var(--muted-foreground);font-size:15px;cursor:pointer}.layout-seg+.layout-seg{border-left:1px solid var(--border)}.layout-seg:hover{background:var(--accent);color:var(--foreground)}.layout-seg.active{background:color-mix(in oklab,var(--select, var(--primary)) 16%,var(--card));color:var(--foreground);cursor:default}.layout-seg-check{font-size:12px}.proj-list{display:flex;flex-direction:column;gap:10px}.item-row.proj-row{padding:12px 16px}.item-icon.proj-row-icon{width:34px;height:34px;font-size:26px}.proj-row-actions{gap:14px}.status-select.proj-row-status{font-size:11.5px;padding:5px 8px}.proj-row-size{min-width:72px;text-align:right;font-size:12.5px;font-weight:600;color:var(--foreground);font-variant-numeric:tabular-nums}.folder-row-count{min-width:148px;text-align:right;font-size:12.5px;color:var(--muted-foreground);white-space:nowrap}.folder-card-count{font-size:12.5px;color:var(--muted-foreground)}.proj-list .sortable-drop-indicator{border-radius:var(--radius-lg)}.proj-list .sortable-card,.proj-list .sortable-card-inner,.proj-list .sortable-card-inner>.item-row{width:100%}.drag-overlay .item-row{flex:1 1 auto;width:100%}.proj-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:0}.proj-head-title{min-width:0}.proj-head .page-eyebrow{margin-bottom:5px}.proj-actions{margin-top:2px}.tools-strip{display:flex;align-items:stretch;justify-content:center;gap:18px;margin:20px 0 18px}.tools-divider{width:1px;background:var(--border);flex:0 0 auto}.tools-group{display:flex;flex-direction:column;gap:6px;min-width:0}.tools-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.tools-cards{display:flex;gap:14px;flex-wrap:wrap}.tools-strip>.tool-card{margin-top:23px}.card.tool-card{width:148px;height:148px;min-height:0;align-items:center;justify-content:center;text-align:center;gap:11px;padding:14px 10px;flex:0 0 auto}.tool-card-icon{width:46px;height:46px;border-radius:var(--radius-md);background:var(--secondary);color:var(--foreground);display:flex;align-items:center;justify-content:center;font-size:24px}.tool-card-icon.bare{background:none;border-radius:0;font-size:34px}.tool-card-title{font-size:13px;font-weight:650;color:var(--foreground);line-height:1.3}.tool-card-sub{font-size:11px;color:var(--muted-foreground);line-height:1.3;margin-top:2px}.item-icon.xlsx{color:#16a34a}.item-icon.pdf{color:var(--foreground)}.modal.avt-settings-modal{width:min(680px,94vw);max-height:min(86vh,720px);overflow:auto}.settings-wb-list{display:flex;flex-direction:column;gap:10px;margin:4px 0 2px}.avt-settings-modal .wb-row.active{border-color:color-mix(in oklab,var(--primary) 45%,var(--border))}.settings-actions{align-items:center}.save-as-err{color:var(--destructive);font-size:12.5px;margin:6px 0 0}.picker-modal{width:min(540px,94vw)}.picker-sub{color:var(--muted-foreground);font-size:12.5px;line-height:1.45;margin:2px 0 12px}.picker-list{display:flex;flex-direction:column;max-height:min(430px,50vh);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);user-select:none}.picker-modal .picker-row{display:flex;align-items:center;gap:12px;margin:0;padding:13px 16px;border-bottom:1px solid color-mix(in oklab,var(--border) 65%,transparent);cursor:pointer;font-size:13.5px;font-weight:450;color:var(--foreground);min-width:0;line-height:1.35;transition:background .1s ease}.picker-modal .picker-row:last-child{border-bottom:none}.picker-modal .picker-row:hover{background:var(--accent)}.picker-modal .picker-row.on{background:color-mix(in oklab,var(--primary) 6%,var(--card));box-shadow:inset 2.5px 0 0 var(--primary)}.picker-modal .picker-row input[type=checkbox],.picker-modal .picker-row input[type=radio]{width:15px;height:15px;margin:0;padding:0;accent-color:var(--primary);flex:0 0 auto;cursor:pointer}.picker-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-badge-local{flex:0 0 auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:2px 7px;background:var(--secondary)}.picker-drop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px;padding:12px 14px;border:1.5px dashed var(--border);border-radius:var(--radius-md);font-size:12.5px;color:var(--muted-foreground);transition:border-color .12s ease,background .12s ease}.picker-drop.hot{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 7%,var(--card));color:var(--foreground)}.picker-meta{color:var(--muted-foreground);font-size:12px;flex:0 0 auto;margin-left:8px;font-variant-numeric:tabular-nums}.picker-actions{align-items:center;margin-top:16px}.picker-count{margin-right:auto;font-size:12.5px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.reorder-list{display:flex;flex-direction:column;gap:10px}.reorder-item{touch-action:pan-y}.crumb-file-set{color:var(--muted-foreground);font-weight:400}.dash-section-title.first{margin-top:0}.family-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);padding:18px}.family-empty-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-style:dashed;color:var(--muted-foreground);font-size:13.5px;line-height:1.55}.family-cta-text{max-width:62ch}.family-cta-text b{color:var(--foreground)}.family-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.family-head-left{display:flex;align-items:center;gap:12px;min-width:0}.family-badge{width:38px;height:38px;flex:0 0 auto;border-radius:var(--radius-md);display:grid;place-items:center;font-size:18px;background:var(--secondary);color:var(--foreground);border:1px solid var(--border)}.family-name{font-size:16px;font-weight:650;letter-spacing:-.01em;color:var(--foreground)}.family-sub{font-size:12.5px;color:var(--muted-foreground);margin-top:2px}.family-head-actions{display:flex;gap:8px;flex:0 0 auto}.family-empty{margin-top:14px;border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--muted-foreground);font-size:13px;line-height:1.55;padding:18px;text-align:center}.family-empty b{color:var(--foreground)}.family-empty.sm{margin-top:0;padding:12px 16px;text-align:left;flex:0 0 auto;align-self:center}.fam-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.fam-card{display:flex;align-items:center;gap:11px;border:1px solid var(--border);background:var(--background);border-radius:var(--radius-lg);padding:12px 14px;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}.fam-card.locked{cursor:default;opacity:.62}.fam-card.locked:hover{border-color:var(--border);box-shadow:none}.fam-card:hover{border-color:var(--ring);box-shadow:var(--shadow-1)}.fam-card-id{flex:1;min-width:0}.fam-card-name{display:flex;align-items:center;gap:7px;min-width:0;font-size:13.5px;font-weight:600;color:var(--foreground)}.fam-card-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fam-card-name .share-owner-tag{flex:0 0 auto}.fam-card-email{margin-top:1px;font-size:12px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fam-card .family-role{flex:0 0 auto;margin-top:0}.fam-card-go{flex:0 0 auto;color:var(--muted-foreground)}.fam-page-head-id{display:flex;align-items:center;gap:12px;margin-top:6px}.fam-page-head-id .fam-card-email{margin-top:0}.member-avatar{width:34px;height:34px;flex:0 0 auto;border-radius:999px;display:grid;place-items:center;background:var(--primary);color:var(--primary-foreground);font-size:14px;font-weight:700}.member-avatar.sm{width:22px;height:22px;font-size:11px}.member-id-text{min-width:0}.member-name{font-size:13px;font-weight:600;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-role{display:inline-block;margin-top:3px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 7px;border-radius:999px;background:var(--secondary);color:var(--muted-foreground);border:1px solid var(--border)}.family-role.parent{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.family-member-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.family-member-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--background);border-radius:999px;padding:5px 12px 5px 6px;font-size:12.5px;color:var(--foreground)}.fam-member-row{display:grid;grid-template-columns:32px minmax(0,1fr) 96px 76px;align-items:center;column-gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.fam-member-row:last-child{border-bottom:none}.fam-member-row .member-avatar{width:32px;height:32px;font-size:13px}.member-avatar.child{background:var(--secondary);color:var(--muted-foreground);border:1px solid var(--border)}.fam-member-id{min-width:0}.fam-member-name{display:flex;align-items:center;gap:7px;min-width:0}.fam-member-name-text{font-size:13.5px;font-weight:600;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fam-member-name .share-owner-tag{flex:0 0 auto}.fam-member-email{margin-top:1px;font-size:12px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal select.family-role-select{width:100%;height:32px;margin:0;border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:var(--radius-md);font-size:12.5px;line-height:1;font-family:inherit;padding:0 8px}.modal select.family-role-select:disabled{opacity:.55;cursor:not-allowed}.fam-member-remove{display:flex;justify-content:flex-end}.family-dialog-actions{justify-content:space-between}.asset-icon{width:1.15em;height:1.15em;object-fit:contain;display:inline-block;vertical-align:-.18em;flex:none}.asset-icon.project-glyph{color:#4f8cff;padding:.06em}a.topnav-brand{text-decoration:none}.topnav-logo-img{height:30px;display:block;width:auto}.topnav-mark-img{width:26px;height:26px;border-radius:6px;display:block}.export-modal-overlay{z-index:1200}.export-modal{max-width:360px;text-align:center;padding:26px 28px}.export-modal h3{margin:12px 0 6px}.export-modal p{margin:0;color:var(--muted-foreground);font-size:13px}.export-modal-spinner{width:30px;height:30px;margin:0 auto;border-radius:50%;border:3px solid var(--border);border-top-color:var(--primary);animation:export-spin .8s linear infinite}@keyframes export-spin{to{transform:rotate(360deg)}}.brand-logo-img{height:34px;width:auto;display:block}.app-splash-logo-img{width:64px;height:64px;display:block}.export-modal-logo{width:42px;height:42px;margin:0 auto 10px;display:block}.sidebar-content .page-inner,.sidebar-content .page-crumbs{max-width:none}.files-table{margin-top:10px}.ft-head,.ft-row{display:grid;grid-template-columns:minmax(0,1fr) var(--ft-upd, 200px) var(--ft-size, 88px) var(--ft-ctl, 96px);gap:12px;align-items:center}.ft-head{position:relative;padding:0 12px;border-bottom:1px solid var(--border);user-select:none}.sidebar-content .ft-head,.sidebar-content .files-bar{position:sticky;top:var(--crumbsH, 44px);z-index:30;background:var(--background)}.ft-ctl-cell{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:5px 0;min-height:42px}.files-new-line{display:flex;justify-content:flex-end;margin:18px 0 0}.files-bar{display:flex;justify-content:flex-end;margin-top:10px;padding:0 12px;border-bottom:1px solid var(--border)}.files-bar-right{display:flex;align-items:center;gap:8px;padding:5px 0;min-height:42px}.ftc-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);border-radius:999px;font-size:15px;cursor:pointer;flex:none}.ftc-btn:hover{color:var(--foreground);border-color:var(--ring)}.ftc-btn.panel-btn.open{background:var(--muted);color:var(--foreground)}.ftc-new{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:none;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-size:12.5px;font-weight:650;cursor:pointer;flex:none}.ftc-new:hover{filter:brightness(1.08)}.ftc-new:disabled{opacity:.5;cursor:default}.ftc-new svg{font-size:14px}.ft-resize{position:absolute;top:5px;bottom:5px;width:9px;cursor:col-resize;z-index:2;touch-action:none}.ft-resize:after{content:"";position:absolute;left:4px;top:0;bottom:0;width:1px;background:var(--border);opacity:0;transition:opacity .1s ease}.ft-head:hover .ft-resize:after,body.col-resizing .ft-resize:after{opacity:1}.ft-resize:hover:after,body.col-resizing .ft-resize:after{width:2px;background:var(--ring)}body.col-resizing{cursor:col-resize;user-select:none}.ft-h{display:inline-flex;align-items:center;gap:4px;padding:9px 0;border:none;background:none;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted-foreground);cursor:pointer;justify-self:start}.ft-h.static{cursor:default}.ft-h:hover:not(.static),.ft-h.active{color:var(--foreground)}.ft-h svg{font-size:13px}.ft-h.ft-col-size{justify-self:end}.ft-row{padding:8px 12px;border-bottom:1px solid color-mix(in oklab,var(--border) 62%,transparent);background:transparent;min-height:52px}.ft-row.clickable{cursor:pointer}.ft-row.clickable:hover{background:var(--accent)}.ft-row.selected{background:color-mix(in oklab,var(--select, var(--primary)) 8%,transparent)}body.sorting-active .ft-row.clickable:hover{background:transparent}.ft-name{display:flex;align-items:center;gap:12px;min-width:0}.ft-icon{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:26px}.ft-name-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.ft-title-line{display:flex;align-items:center;gap:10px;min-width:0}.ft-title{font-size:14px;font-weight:600;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-cell{font-size:12.5px;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-col-size{text-align:right;font-variant-numeric:tabular-nums}.ft-empty{opacity:.4}.ft-ctl{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:28px}.ft-hint{font-size:11.5px;color:var(--muted-foreground);white-space:nowrap}.ft-more{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:none;border-radius:7px;color:var(--muted-foreground);font-size:16px;cursor:pointer;opacity:0;transition:opacity .12s ease}.ft-row:hover .ft-more{opacity:1}.ft-more:hover{background:var(--muted);color:var(--foreground)}.ft-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1.5px solid var(--muted-foreground);border-radius:5px;background:var(--card);color:#fff;font-size:12px;cursor:pointer;opacity:0;transition:opacity .12s ease;flex:0 0 auto}.ft-row:hover .ft-check,.ft-check.on{opacity:1}.ft-check.on{background:var(--select, var(--primary));border-color:var(--select, var(--primary))}.files-table .proj-list,.files-table .reorder-list{gap:0}.files-table .sortable-card,.files-table .sortable-card-inner{width:100%;min-width:0}.files-table .sortable-card-inner>.ft-row,.files-table .reorder-item>.ft-row{flex:1 1 auto;width:100%;min-width:0}.files-table .item-list{gap:0;margin-top:0}.files-table .sortable-drop-indicator,.files-table .proj-list .sortable-drop-indicator{border-radius:var(--radius-md)}.drag-overlay .ft-row{width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.ft-prog{display:inline-flex;align-items:center;gap:8px;max-width:100%;color:var(--muted-foreground)}.ft-prog-phase{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-prog .bar{flex:none;width:56px;height:4px;border-radius:999px;background:var(--muted);overflow:hidden}.ft-prog .bar>span{display:block;height:100%;background:var(--primary)}.ft-prog-pct{flex:none;font-variant-numeric:tabular-nums}.ft-prog.error{color:var(--destructive);font-weight:600}.ft-row.uploading{opacity:.66}.ft-row.deleting,.thumb-card.deleting{opacity:.5;pointer-events:none}.files-area{display:flex;align-items:flex-start;gap:22px}.files-main{flex:1 1 auto;min-width:0}.details-panel{width:300px;flex:none;position:sticky;top:calc(var(--crumbsH, 44px) + 6px);max-height:calc(100dvh - var(--crumbsH, 44px) - 30px);overflow-y:auto;border-left:1px solid var(--border);padding:14px 2px 20px 22px;margin-top:10px}.details-panel-tab{display:inline-block;font-size:13px;font-weight:650;color:var(--foreground);padding-bottom:7px;border-bottom:2px solid var(--primary);margin-bottom:16px}.details-panel-name{display:flex;align-items:center;gap:10px;margin-bottom:16px}.details-panel-icon{display:inline-flex;font-size:22px;flex:none}.details-panel-logo{width:22px;height:22px;object-fit:contain}.details-panel-title{font-size:14.5px;font-weight:650;color:var(--foreground);overflow-wrap:anywhere}.details-field{margin-bottom:15px}.details-label{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:5px}.details-value{font-size:13px;color:var(--foreground)}.details-desc{width:100%;min-height:54px;resize:none;padding:9px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--foreground);font:inherit;font-size:13px;line-height:1.45}.details-desc:focus{outline:none;border-color:var(--ring)}.details-desc::placeholder{color:var(--muted-foreground)}.details-desc-ro{font-size:13px;line-height:1.5;color:var(--foreground);white-space:pre-wrap}.details-desc-ro.empty{color:var(--muted-foreground)}.files-grid .card-grid{grid-template-columns:repeat(auto-fill,minmax(calc(252px * var(--fz, 1)),1fr))}.files-grid .proj-grid{grid-template-columns:repeat(auto-fill,minmax(calc(230px * var(--fz, 1)),1fr))}.thumb-card{position:relative;display:flex;flex-direction:column;gap:9px;padding:10px 10px 12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;min-width:0}.thumb-card.clickable{cursor:pointer}.thumb-card.clickable:hover{border-color:var(--ring);box-shadow:var(--shadow-1);transform:translateY(-1px)}.thumb-card.selected{border-color:var(--select, var(--primary));box-shadow:0 0 0 3px color-mix(in oklab,var(--select, var(--primary)) 18%,transparent)}.thumb-card-img{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-lg);background:var(--secondary);overflow:hidden;display:flex;align-items:center;justify-content:center}.thumb-card-img img{width:100%;height:100%;object-fit:contain;background:#fff}.thumb-card-fallback{font-size:46px;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground)}.thumb-card-check{position:absolute;top:8px;right:8px;box-shadow:var(--shadow-1)}.thumb-card:hover .thumb-card-check,.thumb-card-check.on{opacity:1}.thumb-card-actions{position:absolute;left:50%;bottom:8px;transform:translate(-50%);display:flex;gap:2px;padding:3px 6px;background:var(--popover);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-1);opacity:0;transition:opacity .12s ease}.thumb-card:hover .thumb-card-actions{opacity:1}.thumb-card-actions button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:none;border-radius:999px;color:var(--muted-foreground);font-size:15px;cursor:pointer}.thumb-card-actions button:hover{background:var(--muted);color:var(--foreground)}.thumb-card-name{font-size:13px;font-weight:600;color:var(--foreground);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-card-meta{font-size:11.5px;color:var(--muted-foreground);text-align:center;margin-top:-5px}.thumb-card-prog{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:color-mix(in oklab,var(--popover) 92%,transparent);border:1px solid var(--border);font-size:11.5px;color:var(--foreground)}.thumb-card-prog .bar{flex:1;height:5px;border-radius:999px;background:color-mix(in oklab,var(--muted-foreground) 22%,transparent);overflow:hidden}.thumb-card-prog .bar>div{height:100%;background:var(--primary);border-radius:999px;transition:width .2s}.zoom-ctl{display:inline-flex;align-items:center;gap:4px;padding:0 4px}.zoom-ctl button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;border-radius:999px;color:var(--muted-foreground);font-size:13px;cursor:pointer}.zoom-ctl button:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.zoom-ctl button:disabled{opacity:.3;cursor:default}.zoom-ctl input[type=range]{width:88px;accent-color:var(--primary)}.sort-menu-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--muted-foreground);font-size:12.5px;font-weight:600;cursor:pointer}.sort-menu-btn:hover{color:var(--foreground);border-color:var(--ring)}.sort-menu-btn.active{color:var(--foreground);background:color-mix(in oklab,var(--select, var(--primary)) 10%,var(--card))}.selection-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:12px 0 0;border:1px solid color-mix(in oklab,var(--select, var(--primary)) 40%,var(--border));background:color-mix(in oklab,var(--select, var(--primary)) 8%,var(--card));border-radius:var(--radius-lg)}.selection-count{font-size:13px;font-weight:600;color:var(--foreground);margin-right:auto;font-variant-numeric:tabular-nums}.info-modal{min-width:420px;max-width:560px}.info-rows{margin:12px 0 4px;display:flex;flex-direction:column;gap:7px}.info-row{display:grid;grid-template-columns:140px 1fr;gap:14px;font-size:13px}.info-row dt{color:var(--text-2, #666);white-space:nowrap}.info-row dd{margin:0;word-break:break-word}.files-new-line.with-left{justify-content:space-between;gap:16px}.drive-search{position:relative;display:flex;align-items:center;flex:0 1 420px;min-width:0}.drive-search-icon{position:absolute;left:12px;width:16px;height:16px;color:var(--muted-foreground);pointer-events:none}.drive-search input{width:100%;height:36px;padding:0 34px 0 36px;font-size:13.5px;color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:999px;outline:none}.drive-search input::placeholder{color:var(--muted-foreground)}.drive-search input:focus{border-color:color-mix(in oklab,var(--primary) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 12%,transparent)}.drive-search input::-webkit-search-cancel-button{display:none}.drive-search-clear{position:absolute;right:8px;display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:999px;background:none;color:var(--muted-foreground);cursor:pointer}.drive-search-clear:hover{background:var(--muted);color:var(--foreground)}.search-scope{font-size:12.5px;color:var(--muted-foreground);padding:2px 2px 8px}.recents{margin:14px 0 22px}.recents-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.recents-head h2{margin:0;font-size:15px;font-weight:620;letter-spacing:-.01em;color:var(--foreground)}.recents-seeall{border:0;background:none;padding:2px 4px;font-size:13px;color:var(--muted-foreground);cursor:pointer;border-radius:var(--radius-md)}.recents-seeall:hover{color:var(--primary);text-decoration:underline}.recents-strip{position:relative}.recents-rail{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:2px}.recents-rail::-webkit-scrollbar{display:none}.rc-card{flex:0 0 auto;width:172px;display:flex;flex-direction:column;gap:7px;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:var(--foreground)}.rc-thumb{display:block;width:172px;height:116px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);display:grid;place-items:center}.rc-card:hover .rc-thumb{border-color:color-mix(in oklab,var(--primary) 45%,var(--border));box-shadow:var(--shadow-1)}.rc-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.rc-thumb-fallback{display:grid;place-items:center;width:100%;height:100%;background:var(--muted)}.rc-thumb-fallback .asset-icon{width:34px;height:34px}.rc-name{font-size:13px;font-weight:550;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-where{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted-foreground);min-width:0}.rc-where svg{width:13px;height:13px;flex:none}.rc-where-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recents-arrow{position:absolute;top:58px;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;box-shadow:var(--shadow-2, 0 2px 10px rgba(0, 0, 0, .14))}.recents-arrow:hover{background:var(--accent)}.recents-arrow svg{width:18px;height:18px}.recents-arrow.left{left:-12px}.recents-arrow.right{right:-12px}.rc-skeleton{pointer-events:none}.rc-skeleton .rc-thumb,.rc-skeleton .rc-name,.rc-skeleton .rc-where{background:var(--muted);border-color:transparent}.rc-skeleton .rc-name{height:13px;width:78%;border-radius:4px}.rc-skeleton .rc-where{height:11px;width:52%;border-radius:4px}.recents-page-table .ft-row{cursor:pointer}.rp-name{display:flex;flex-direction:column;gap:2px;min-width:0}/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-mono:var(--mono);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--radius-2xl:var(--radius-2xl);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font);--default-mono-font-family:var(--mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.isolate{isolation:isolate}.z-10{z-index:10}.z-\[1\]{z-index:1}.row-5{grid-row:5}.row-26{grid-row:26}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-18{width:calc(var(--spacing) * 18);height:calc(var(--spacing) * 18)}.size-full{width:100%;height:100%}.h-3{height:calc(var(--spacing) * 3)}.h-full{height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-8{width:calc(var(--spacing) * 8)}.w-\[7\%\]{width:7%}.w-full{width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.scale-1{--tw-scale-x:1%;--tw-scale-y:1%;--tw-scale-z:1%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.bg-\[var\(--loading-ui-analyzing-image-background\,var\(--background\)\)\]{background-color:var(--loading-ui-analyzing-image-background,var(--background))}.bg-background{background-color:var(--background)}.bg-current{background-color:currentColor}.bg-secondary,.bg-secondary\/60{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/60{background-color:color-mix(in oklab,var(--secondary) 60%,transparent)}}.bg-transparent{background-color:#0000}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pl-1{padding-left:var(--spacing)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-foreground{color:var(--foreground)}.text-muted-foreground,.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground) 70%,transparent)}}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-\[1\.5px\]{text-decoration-thickness:1.5px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-55{opacity:.55}.\!shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:text-foreground:hover{color:var(--foreground)}}.disabled\:opacity-40:disabled{opacity:.4}}:root{--radius:.625rem;--background:oklch(98% 0 0);--foreground:oklch(16% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(16% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(16% 0 0);--primary:oklch(20% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(95.5% 0 0);--secondary-foreground:oklch(20% 0 0);--muted:oklch(95.5% 0 0);--muted-foreground:oklch(49% 0 0);--accent:oklch(94.5% 0 0);--accent-foreground:oklch(20% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(90% 0 0);--input:oklch(90% 0 0);--ring:oklch(65% 0 0);--sidebar:oklch(97.5% 0 0);--sidebar-foreground:oklch(16% 0 0);--sidebar-primary:oklch(20% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(94.5% 0 0);--sidebar-accent-foreground:oklch(20% 0 0);--sidebar-border:oklch(90% 0 0);--sidebar-ring:oklch(65% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(27% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27% 0 0);--muted-foreground:oklch(72% 0 0);--accent:oklch(31% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.13);--input:oklch(100% 0 0/.16);--ring:oklch(58% 0 0);--sidebar:oklch(18.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(92.2% 0 0);--sidebar-primary-foreground:oklch(20.5% 0 0);--sidebar-accent:oklch(31% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.13);--sidebar-ring:oklch(58% 0 0)}:root{--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:calc(var(--radius) + 8px);--bg-0:var(--background);--bg-1:var(--card);--bg-2:var(--secondary);--bg-3:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--bg-3:color-mix(in oklab, var(--accent), var(--foreground) 6%)}}:root{--line:var(--border);--line-strong:var(--border)}@supports (color:color-mix(in lab,red,red)){:root{--line-strong:color-mix(in oklab, var(--border), var(--foreground) 10%)}}:root{--canvas-bg:var(--muted);--text-0:var(--foreground);--text-1:var(--foreground)}@supports (color:color-mix(in lab,red,red)){:root{--text-1:color-mix(in oklab, var(--foreground), var(--muted-foreground) 55%)}}:root{--text-2:var(--muted-foreground);--accent-color:var(--primary);--accent-hover:var(--primary)}@supports (color:color-mix(in lab,red,red)){:root{--accent-hover:color-mix(in oklab, var(--primary), var(--background) 14%)}}:root{--accent-dim:var(--accent);--danger:var(--destructive);--ok:var(--foreground);--warn:var(--foreground);--select:oklch(80% .15 78);--select-foreground:oklch(24% .05 70);--shadow-1:0 1px 2px 0 #0000000d;--shadow-2:0 12px 32px -12px #0000002e;--topbar-h:52px;--font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}.dark{--shadow-1:0 1px 2px 0 #00000080;--shadow-2:0 14px 36px -10px #000000a6}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow:hidden}button{cursor:pointer;font-family:inherit}input,select,textarea{color:var(--foreground)}input::placeholder,textarea::placeholder{color:var(--muted-foreground);opacity:1}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--muted-foreground) 35%,transparent)}}::-webkit-scrollbar-thumb{background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab,var(--muted-foreground) 55%,transparent)}}::-webkit-scrollbar-thumb:hover{background-clip:padding-box}::-webkit-scrollbar-track{background:0 0}.btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:var(--radius-md);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:7px;height:34px;padding:0 13px;font-size:13px;font-weight:500;line-height:1;transition:background .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.btn:hover{background:var(--secondary)}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{color:var(--muted-foreground);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--accent);color:var(--foreground)}.btn.sm{height:28px;padding:0 9px;font-size:12px}.btn.icon{width:30px;padding:0}.btn.sm.icon{width:26px}.chip{background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.maintenance-page{background:var(--background);color:var(--foreground);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.maintenance-page p{text-align:center;margin:0;font-size:20px;font-weight:500;line-height:1.5}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.bm-tree{padding:6px 6px 14px 0}.bm-row{display:flex;align-items:flex-start;gap:2px;border-radius:6px;margin-right:6px}.bm-row:hover{background:var(--accent)}.bm-row.is-current{background:color-mix(in oklab,var(--primary) 12%,transparent)}.bm-row.is-current .bm-text{font-weight:650}.bm-row.is-off{opacity:.42}.bm-row.is-off:hover{background:transparent}.bm-row.is-selected{background:color-mix(in oklab,var(--select) 20%,transparent);box-shadow:inset 3px 0 0 var(--select)}.bm-row.is-selected:hover{background:color-mix(in oklab,var(--select) 34%,transparent)}.bm-row.is-selected .bm-text{font-weight:650}.bm-row.is-current{box-shadow:inset 0 0 0 2px var(--primary)}.bm-row.is-selected.is-current{box-shadow:inset 3px 0 0 var(--select),inset 0 0 0 2px var(--primary)}.bm-check{flex:0 0 auto;align-self:center;margin-right:6px;width:17px;height:17px;padding:0;border-radius:5px;border:1.5px solid color-mix(in oklab,var(--muted-foreground) 55%,transparent);background:transparent;color:transparent;font-size:11px;font-weight:700;line-height:1;font-family:inherit;display:grid;place-items:center;cursor:pointer;user-select:none}.bm-check:hover{border-color:var(--select);background:color-mix(in oklab,var(--select) 22%,transparent)}.bm-check.on{background:var(--select);border-color:var(--select);color:var(--select-foreground)}.bm-check.on:hover{background:color-mix(in oklab,var(--select) 82%,var(--foreground))}.bm-check:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.bm-twist{flex:0 0 auto;width:18px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;border-radius:4px}.bm-twist svg{width:13px;height:13px}.bm-twist:hover{color:var(--foreground)}.bm-twist-empty{cursor:default}.bm-label{flex:1 1 auto;min-width:0;text-align:left;padding:5px 8px 6px 2px;border:none;background:transparent;color:inherit;font:inherit;font-size:12.5px;line-height:1.42;cursor:pointer}.bm-label:disabled{cursor:default}.bm-label:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:5px}.bm-text{overflow-wrap:anywhere}.bm-loading{padding:18px 16px;font-size:12.5px;color:var(--muted-foreground)}.tn-body{position:relative}.tn-spacer{position:relative;width:100%}.tn-cell{position:absolute;display:flex;flex-direction:column;align-items:center}.tn-tile{position:relative;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;background:#fff;border:1px solid var(--border);border-radius:2px;box-shadow:0 1px 3px #00000029;cursor:pointer;transition:box-shadow .12s ease}.tn-tile:hover{box-shadow:0 1px 3px #00000029,0 0 0 2px color-mix(in oklab,var(--primary) 35%,transparent)}.tn-tile.is-current,.tn-tile.is-current:hover{box-shadow:0 1px 3px #00000029,0 0 0 2px var(--primary)}.tn-tile:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.tn-tile.is-selected{outline:2px solid var(--select);outline-offset:1px}.tn-sel{position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:5px;background:var(--select);color:var(--select-foreground);font-size:12px;font-weight:700;line-height:1;display:grid;place-items:center;pointer-events:none}.tn-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.tn-skeleton{width:100%;height:100%;background:linear-gradient(100deg,color-mix(in oklab,var(--muted) 70%,#fff) 30%,color-mix(in oklab,var(--muted) 40%,#fff),color-mix(in oklab,var(--muted) 70%,#fff) 70%);background-size:300% 100%;animation:tn-shimmer 1.3s ease-in-out infinite}@keyframes tn-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@media(prefers-reduced-motion:reduce){.tn-skeleton{animation:none}}.tn-num{margin-top:3px;font-size:11px;line-height:15px;font-variant-numeric:tabular-nums;color:var(--muted-foreground);user-select:none}.tn-num.is-current{color:var(--foreground);font-weight:650}.tn-size{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;max-width:168px;color:var(--muted-foreground)}.tn-size-sm{width:12px;height:12px;flex:0 0 auto}.tn-size-lg{width:17px;height:17px;flex:0 0 auto}.tn-slider{flex:1 1 auto;min-width:40px;height:16px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}.tn-slider::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--border)}.tn-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;margin-top:-4.5px;border:none;border-radius:50%;background:var(--primary)}.tn-slider::-moz-range-track{height:4px;border-radius:999px;background:var(--border)}.tn-slider::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:var(--primary)}.tn-slider:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:999px}.find-bar{position:fixed;top:calc(var(--topbar-h, 52px) + 14px);left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:2px;padding:5px 6px 5px 11px;border:1px solid var(--border);border-radius:10px;background:var(--popover, var(--card));color:var(--foreground);box-shadow:var(--shadow-2);animation:find-in .14s ease-out}@keyframes find-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}}@media(prefers-reduced-motion:reduce){.find-bar{animation:none}}.find-icon{width:15px;height:15px;flex:0 0 auto;color:var(--muted-foreground)}.find-input{width:236px;border:none;outline:none;background:transparent;color:inherit;font:inherit;font-size:13px;padding:4px 6px}.find-input::placeholder{color:var(--muted-foreground)}.find-count{flex:0 0 auto;min-width:74px;text-align:right;padding-right:4px;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--muted-foreground);white-space:nowrap}.find-count.is-none{color:var(--destructive)}.find-btn{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted-foreground);cursor:pointer}.find-btn svg{width:15px;height:15px}.find-btn:hover:not(:disabled){background:var(--accent);color:var(--foreground)}.find-btn:disabled{opacity:.35;cursor:default}.find-btn:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.find-sep{width:1px;height:18px;margin:0 3px;background:var(--border)}.find-hit-layer{position:absolute;pointer-events:none;z-index:2}.find-hit{position:absolute;background:#facc156b;outline:1px solid rgb(202 138 4 / .5);border-radius:1px}.find-hit.is-active{background:#f973168c;outline:1.5px solid rgb(194 65 12 / .85)}.rail-root{flex:0 0 auto;display:flex;align-items:stretch;min-height:0;position:relative;z-index:7}.rail-strip{flex:0 0 auto;width:48px;box-sizing:border-box;border-left:1px solid var(--border);background:var(--card);display:flex;flex-direction:column;align-items:center;padding:10px 0 8px;overflow:visible;user-select:none}.rail-strip-top{display:flex;flex-direction:column;align-items:center;gap:6px}.rail-strip-bottom{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:3px}.rail-sep{width:28px;height:1px;flex:0 0 auto;background:var(--border);margin:5px 0}.rail-btn{position:relative;flex:0 0 auto;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background .12s ease,color .12s ease}.rail-btn svg{width:18px;height:18px}.rail-btn:hover:not(:disabled){background:var(--accent);color:var(--foreground)}.rail-btn:disabled{opacity:.4;cursor:default}.rail-btn:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.rail-btn.is-active,.rail-btn.is-active:hover{background:var(--foreground);color:var(--background)}.rail-tip{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:40;max-width:240px;width:max-content;padding:5px 9px;border-radius:6px;background:var(--foreground);color:var(--background);font-size:11.5px;line-height:1.35;font-weight:500;white-space:normal;pointer-events:none;box-shadow:var(--shadow-2)}.rail-tip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:4px solid transparent;border-left-color:var(--foreground)}.rail-pagebox{display:flex;flex-direction:column;align-items:center;gap:7px}.rail-pageinput{width:32px;height:32px;box-sizing:border-box;text-align:center;border:1px solid var(--line-strong);border-radius:5px;background:var(--background);color:var(--foreground);font:inherit;font-size:12px;font-variant-numeric:tabular-nums;padding:0 1px;-moz-appearance:textfield}.rail-pageinput::-webkit-outer-spin-button,.rail-pageinput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rail-pageinput:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px color-mix(in oklab,var(--ring) 30%,transparent)}.rail-pagetotal{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted-foreground);line-height:1.4}.rail-zoompct{font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--muted-foreground);line-height:1.3;padding:1px 0 2px;letter-spacing:-.01em}.rail-panel{flex:0 0 auto;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;min-height:0;background:var(--sidebar, var(--card));color:var(--sidebar-foreground, var(--foreground));border-left:1px solid var(--border);position:relative;transition:width .18s cubic-bezier(.32,.72,0,1)}.rail-root.is-resizing .rail-panel{transition:none}.rail-resize{position:absolute;left:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:5}.rail-resize:hover,.rail-root.is-resizing .rail-resize{background:color-mix(in oklab,var(--ring) 40%,transparent)}.rail-head{flex:0 0 auto;height:56px;display:flex;align-items:center;gap:8px;padding:0 10px 0 8px;border-bottom:1px solid var(--border)}.rail-head-title{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-head-spacer{flex:1 1 auto;min-width:4px}.rail-head-btn{position:relative;flex:0 0 auto;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background .12s ease,color .12s ease}.rail-head-btn svg{width:16px;height:16px}.rail-head-btn:hover{background:var(--accent);color:var(--foreground)}.rail-head-btn:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.rail-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--foreground) 26%,transparent) transparent}.rail-body::-webkit-scrollbar{width:10px}.rail-body::-webkit-scrollbar-track{background:transparent}.rail-body::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--foreground) 22%,transparent);border-radius:999px;border:3px solid transparent;background-clip:content-box}.rail-body::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab,var(--foreground) 38%,transparent);background-clip:content-box}.rail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;min-height:220px;padding:28px 26px;text-align:center;color:var(--muted-foreground)}.rail-empty svg{width:30px;height:30px;opacity:.45}.rail-empty-title{font-size:13px;font-weight:600;color:var(--foreground)}.rail-empty-sub{font-size:12px;line-height:1.5;max-width:260px}.rail-menu{position:absolute;z-index:50;min-width:200px;padding:5px;border:1px solid var(--border);border-radius:9px;background:var(--popover, var(--card));color:var(--popover-foreground, var(--foreground));box-shadow:var(--shadow-2)}.rail-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:none;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer}.rail-menu-item:hover{background:var(--accent)}.rail-menu-item .rail-menu-check{width:15px;height:15px;flex:0 0 auto;opacity:0}.rail-menu-item.is-on .rail-menu-check{opacity:1}.rail-menu-sep{height:1px;background:var(--border);margin:4px 2px}.pv-main{flex:1;min-height:0;display:flex}.pv-scroll{flex:1;min-width:0;overflow:auto;background:color-mix(in oklab,var(--foreground) 6%,var(--background));cursor:grab;user-select:none}.pv-scroll.panning{cursor:grabbing}.pv-pages{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 24px 60px;width:max-content;min-width:100%}.pv-page{position:relative;flex:0 0 auto;background:#fff;box-shadow:0 1px 4px #0000002e;display:flex;align-items:center;justify-content:center}.pv-page-num{color:#00000059;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;user-select:none}.pv-thumb,.pv-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.pv-thumb{object-fit:fill;image-rendering:auto;filter:none}.um-root{height:100%;display:flex;flex-direction:column;background:var(--background)}.um-appbar{height:var(--topbar-h);flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--card);border-bottom:1px solid var(--border)}.um-appbar .crumb{color:var(--muted-foreground);font-size:13px;display:flex;align-items:center;min-width:0;white-space:nowrap}.um-appbar .crumb>*{flex:0 0 auto}.um-appbar .crumb .crumb-link{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.um-appbar .crumb .crumb-file-set{flex:0 1000 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:6px}.um-appbar .crumb b{color:var(--foreground);font-weight:600}.um-appbar .spacer{flex:1}.stepper{display:flex;align-items:center;gap:4px;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.step{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 4px;border:none;background:transparent;border-radius:calc(var(--radius-md) - 2px);font-size:12px;font-weight:500;color:var(--muted-foreground);cursor:pointer;transition:background .12s ease,color .12s ease}.step:not(.active):not(:disabled):hover{background:var(--accent);color:var(--foreground)}.step:disabled{cursor:default}.step:disabled:not(.active){opacity:.5}.step.active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-1);cursor:default}.step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:color-mix(in oklab,var(--muted-foreground) 22%,transparent);color:var(--foreground);font-size:11px;font-weight:700}.step.active .step-num{background:var(--primary);color:var(--primary-foreground)}.step.done .step-num{background:color-mix(in oklab,var(--foreground) 55%,var(--background));color:var(--background)}.save-status{font-size:17px}.save-status.error{color:var(--destructive)}.save-status.error:hover:not(:disabled){color:var(--destructive)}.save-status-spin{animation:save-status-rotate 1.1s linear infinite}@keyframes save-status-rotate{to{transform:rotate(360deg)}}.um-appbar .stepper,.um-appbar .save-cluster,.um-appbar .ver-badge{flex:0 0 auto;white-space:nowrap}.step{white-space:nowrap}@media(max-width:920px){.um-appbar .step-label{display:none}.um-appbar .step{padding:3px 5px}}@media(max-width:760px){.um-appbar{gap:8px}}@media(max-width:580px){.um-appbar{padding:0 8px}.um-appbar .crumb b{flex:0 1 auto;min-width:40px;overflow:hidden;text-overflow:ellipsis}}.seg{display:flex;gap:2px;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.seg-btn{border:none;background:transparent;color:var(--muted-foreground);font-size:12.5px;font-weight:500;padding:5px 11px;border-radius:calc(var(--radius-md) - 2px);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.seg-btn:hover{color:var(--foreground)}.seg-btn.active{background:var(--primary);color:var(--primary-foreground)}.sheet-nav .label .muted{color:var(--muted-foreground)}.um-upload{flex:1;display:grid;place-items:center;padding:32px}.dropzone{width:min(620px,90vw);border:1.5px dashed var(--border);border-radius:var(--radius-xl);background:var(--card);padding:56px 40px;text-align:center;transition:border-color .15s,background .15s}.dropzone.drag{border-color:var(--ring);background:var(--accent)}.dropzone h2{margin:14px 0 6px;font-size:22px}.dropzone p{color:var(--muted-foreground);margin:0 0 22px;font-size:14px}.dropzone .big-icon{font-size:44px}.um-progress{width:min(620px,90vw);text-align:center}.um-progress .bar{height:8px;border-radius:999px;background:var(--secondary);overflow:hidden;margin:18px 0 10px}.um-progress .bar>div{height:100%;background:var(--primary);transition:width .2s}.um-error{color:var(--destructive);margin-top:16px;font-size:13px}.um-pages{flex:1;display:flex;flex-direction:column;min-height:0}.um-pages-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--card);flex-wrap:nowrap}.um-pages-toolbar>*:not(.xps-pills){flex:0 0 auto}.um-pages-toolbar .count{color:var(--muted-foreground);font-size:13px}.prep-loader{flex:1;display:grid;place-items:center;padding:40px}.prep-card{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:36px 44px;width:min(420px,90vw);box-shadow:var(--shadow-1)}.prep-spinner{width:34px;height:34px;margin:0 auto 18px;border:3px solid var(--secondary);border-top-color:var(--foreground);border-radius:50%;animation:um-spin .8s linear infinite}.prep-title{font-size:16px;font-weight:600;margin-bottom:16px}.prep-bar{height:8px;border-radius:999px;background:var(--secondary);overflow:hidden}.prep-bar>div{height:100%;background:var(--primary);transition:width .25s}.prep-sub{margin-top:10px;font-size:12.5px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.preview-overlay{position:fixed;inset:0;background:color-mix(in srgb,black 55%,transparent);z-index:50;display:grid;place-items:center;padding:32px}.preview-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);width:min(1100px,94vw);height:min(880px,90vh);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-2)}.preview-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.preview-body{flex:1;min-height:0;display:flex;position:relative}.preview-body .canvas-wrap{flex:1}.um-matrix{flex:1;display:flex;flex-direction:column;min-height:0}.um-matrix-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--border)}.um-matrix-title{font-size:14px;font-weight:600;color:var(--foreground)}.um-matrix-body{flex:1;min-height:0;display:flex;padding:14px;background:var(--background)}.um-tabs{display:flex;gap:3px;background:var(--secondary);border-radius:var(--radius-md);padding:3px}.um-tab{border:none;background:transparent;color:var(--muted-foreground);font-size:12.5px;font-weight:500;padding:5px 12px;border-radius:calc(var(--radius-md) - 2px)}.um-tab.active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-1)}.bysheet-shell{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;gap:8px}.bysheet-toolbar{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:10px}.bysheet-hint{font-size:12px;color:var(--muted-foreground)}.bysheet-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card)}.bysheet{border-collapse:collapse;font-size:13px;width:max-content;min-width:100%;user-select:text}.bysheet th,.bysheet td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:7px 12px;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.bysheet thead th{position:sticky;top:0;background:var(--secondary);color:var(--muted-foreground);font-weight:600;z-index:2}.bysheet .sticky-col{position:sticky;left:0;background:var(--card);text-align:left;z-index:1}.bysheet thead .sticky-col{z-index:3;background:var(--secondary)}.bysheet .swatch{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:7px;vertical-align:middle;border:1px solid var(--border)}.bysheet td.zero{color:var(--muted-foreground)}.bysheet .total-col{font-weight:700;background:var(--secondary)}.bysheet tfoot td{position:sticky;bottom:0;background:var(--muted);font-weight:700;border-top:1px solid var(--border)}.um-matrix-hint{flex:0 0 auto;padding:9px 14px;font-size:12px;color:var(--muted-foreground);border-top:1px solid var(--border);background:var(--card)}.um-matrix.flush .um-matrix-body{padding:0}.avt-bar{flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:10px 18px;background:var(--background);border-bottom:1px solid var(--border)}.avt-tabs{display:flex;align-items:center;gap:4px;padding:4px;background:color-mix(in oklab,var(--foreground) 7%,var(--background));border-radius:14px;width:fit-content}.avt-tab{position:relative;border:0;background:transparent;color:var(--muted-foreground);border-radius:10px;padding:8px 15px;font:inherit;font-size:13px;font-weight:650;line-height:1;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.avt-tab:hover:not(.active){color:var(--foreground)}.avt-tab.active{color:var(--foreground);background:var(--card);box-shadow:0 3px 12px #00000017}.avt-tab-badge{position:absolute;top:3px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--destructive);box-shadow:0 0 0 3px color-mix(in oklab,var(--destructive) 18%,transparent)}.avt-status{display:inline-flex;align-items:center;gap:8px;color:var(--muted-foreground);font-size:13px;white-space:nowrap}.avt-dot{width:7px;height:7px;border-radius:50%;background:#24b8b0;box-shadow:0 0 0 4px #24b8b024}.avt-body{background:var(--background)}.um-matrix-inner{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.um-subbar{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--card)}.um-subbar-hint{font-size:11.5px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.um-matrix-fill{flex:1;min-height:0;overflow:auto;padding:12px 14px}.um-matrix-flush-fill{flex:1;min-height:0;display:flex;overflow:hidden}.estimate-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.estimate-placeholder-card{max-width:460px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg, 14px);padding:32px 28px;color:var(--muted-foreground);background:var(--card)}.estimate-placeholder-card h3{margin:8px 0 6px;color:var(--foreground)}.estimate-placeholder-card p{font-size:13px;line-height:1.6;margin:0}.estimate-placeholder-badge{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,var(--card));border:1px solid color-mix(in oklab,var(--primary) 30%,var(--border));border-radius:999px;padding:3px 10px}.um-workspace{flex:1;display:flex;flex-direction:column;min-height:0}.um-work-body{flex:1;display:flex;min-height:0;position:relative}.canvas-area{flex:1;min-width:0;min-height:0;position:relative;display:flex}.hud{position:absolute;z-index:6;display:flex;gap:8px;pointer-events:none}.hud-tl{top:12px;left:0;flex-direction:row;align-items:flex-start}.hud-br{bottom:12px;right:12px}.sidebar-toggle{pointer-events:auto;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:40px;padding:0;border:1px solid var(--border);border-left:none;border-radius:0 9px 9px 0;background:var(--card);color:var(--muted-foreground);box-shadow:var(--shadow-2);cursor:pointer;transition:background .12s ease,color .12s ease}.sidebar-toggle:hover{color:var(--foreground);background:var(--accent)}.sidebar-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.sidebar-toggle-chevron{font-size:17px;line-height:1;font-weight:600}.sidebar-toggle.is-closed{color:var(--foreground);background:color-mix(in oklab,var(--primary) 8%,var(--card));border-color:color-mix(in oklab,var(--primary) 30%,var(--border))}.hud-group{box-shadow:var(--shadow-2);pointer-events:auto}.hud-btn{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-2);pointer-events:auto}.um-topbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--border);flex-wrap:wrap}.um-topbar .group{display:flex;align-items:center;gap:6px}.um-topbar .divider{width:1px;height:22px;background:var(--border);margin:0 4px}.sheet-nav{display:flex;align-items:center;gap:4px;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.sheet-nav .label{font-size:13px;min-width:118px;text-align:center;font-variant-numeric:tabular-nums}.zoomctl{display:flex;align-items:center;gap:2px;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.zoomctl .pct{font-size:12px;min-width:46px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.mode-btn.active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.canvas-wrap{flex:1;position:relative;overflow:hidden;background:var(--canvas-bg);background-image:radial-gradient(color-mix(in oklab,var(--muted-foreground) 16%,transparent) 1px,transparent 1px);background-size:22px 22px;cursor:default;touch-action:none}.canvas-wrap.grab{cursor:crosshair}.canvas-stage{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.canvas-stage canvas{position:absolute;top:0;left:0;display:block}.canvas-stage .page-thumb-backdrop{position:absolute;top:0;left:0;display:block;pointer-events:none;transition:opacity .15s}.detail-canvas{transition:opacity .08s}.page-shadow{position:absolute;inset:0;box-shadow:0 6px 30px #00000040;background:#fff}.canvas-hint{background:var(--primary);color:var(--primary-foreground);padding:8px 14px;border-radius:999px;font-size:12.5px;pointer-events:none;box-shadow:var(--shadow-2);max-width:100%;text-align:center}.canvas-toast{background:var(--primary);color:var(--primary-foreground);padding:8px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;box-shadow:var(--shadow-2);max-width:100%;text-align:center}.scan-banner{position:absolute;left:50%;top:116px;transform:translate(-50%);background:var(--card);border:1px solid var(--border);color:var(--foreground);padding:8px 14px;border-radius:999px;font-size:13px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-2);z-index:5}.scan-banner .spin{width:14px;height:14px;border:2px solid color-mix(in oklab,var(--muted-foreground) 35%,transparent);border-top-color:var(--foreground);border-radius:50%;animation:um-spin .8s linear infinite}@keyframes um-spin{to{transform:rotate(360deg)}}.um-sidebar{flex:0 0 auto;order:-1;background:var(--sidebar);color:var(--sidebar-foreground);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;position:relative}.um-sidebar .resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:3}.um-sidebar .resize-handle:hover{background:color-mix(in oklab,var(--ring) 40%,transparent)}.sb-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.sb-header h3{margin:0;font-size:14px;font-weight:600}.sb-total{font-size:12px;color:var(--muted-foreground)}.sb-subbar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 6px 14px;border-bottom:1px solid var(--border)}.sb-scroll{flex:1;overflow-y:auto}.um-table{width:100%;border-collapse:collapse}.um-table thead th{position:sticky;top:0;background:var(--sidebar);text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);padding:8px 14px;border-bottom:1px solid var(--border)}.um-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer}.um-table tbody tr:hover,.um-table tbody tr.active{background:var(--accent)}.um-table td{padding:9px 14px;font-size:13px;vertical-align:middle}.drag-handle{cursor:grab;color:var(--muted-foreground);font-size:14px;padding:2px;user-select:none;display:inline-block}.drag-handle:hover{color:var(--foreground)}.drag-handle:active{cursor:grabbing}.um-table tbody tr.drop-target td{box-shadow:inset 0 2px 0 var(--primary)}.unit-cell{display:flex;align-items:center;gap:9px}.swatch{width:13px;height:13px;border-radius:3px;flex:0 0 auto;border:1px solid var(--border)}.unit-name{font-weight:600;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-rename-input{flex:1;min-width:0;font-family:var(--mono);font-weight:600;font-size:inherit;background:var(--card);color:var(--foreground);border:1px solid var(--ring, var(--border));border-radius:var(--radius-sm);padding:1px 5px;outline:none}.bysheet-mult{color:var(--muted-foreground);font-weight:600;font-size:10px}.ctx-menu{position:fixed;z-index:60;padding:4px;background:var(--popover, var(--card));color:var(--popover-foreground, var(--foreground));border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:1px}.ctx-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--foreground);font:inherit;font-size:13px;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-item.with-icon{display:flex;align-items:center;gap:9px}.ctx-item-icon{display:inline-flex;font-size:14px;color:var(--muted-foreground)}.ctx-item.danger:hover:not(:disabled) .ctx-item-icon{color:var(--destructive)}.ctx-item:hover:not(:disabled){background:var(--accent)}.ctx-item.danger:hover:not(:disabled){background:var(--secondary);color:var(--destructive)}.ctx-item:disabled{color:var(--muted-foreground);opacity:.5;cursor:default}.ctx-sep{height:1px;margin:3px 4px;background:var(--border)}.qty-cell{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.qty-cell .scanning-dot{color:var(--muted-foreground);font-weight:400;font-size:11px}.row-actions{display:flex;gap:2px;justify-content:flex-end}.row-actions button{border:none;background:transparent;color:var(--muted-foreground);padding:3px 5px;border-radius:var(--radius-sm);font-size:12px}.row-actions button:hover{background:var(--secondary);color:var(--foreground)}.sb-empty{padding:32px 18px;text-align:center;color:var(--muted-foreground);font-size:13px;line-height:1.6}.sb-footer{border-top:1px solid var(--border);padding:10px 14px;display:flex;flex-direction:column;gap:8px}.sb-opt{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--foreground)}.sb-opt select{background:var(--background);border:1px solid var(--input);color:var(--foreground);border-radius:var(--radius-sm);padding:4px 6px;font-size:12px}.toggle{position:relative;width:34px;height:19px;border-radius:999px;background:color-mix(in oklab,var(--muted-foreground) 35%,transparent);border:1px solid transparent;transition:background .15s}.toggle.on{background:var(--primary);border-color:var(--primary)}.toggle .knob{position:absolute;top:1px;left:1px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .15s}.toggle.on .knob{transform:translate(15px)}.sidebar-collapsed-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);background:var(--card);border:1px solid var(--border);border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md);padding:10px 8px;writing-mode:vertical-rl;font-size:12px;color:var(--muted-foreground);cursor:pointer;z-index:4}.sidebar-collapsed-tab:hover{color:var(--foreground)}.locate-bar{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px 8px 6px 14px;display:flex;align-items:center;gap:10px;font-size:13px;box-shadow:var(--shadow-2)}.hud-toolbar{pointer-events:auto;display:flex;align-items:center;gap:2px;flex-wrap:wrap;row-gap:4px;max-width:min(78vw,1000px);padding:4px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-2)}.hud-seg{display:flex;align-items:center;gap:1px}.hud-div{width:1px;height:20px;flex:0 0 auto;background:var(--border);margin:0 5px}.tool-btn{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--muted-foreground);font:inherit;font-size:12.5px;font-weight:500;padding:5px 9px;border-radius:8px;white-space:nowrap;cursor:pointer}.tool-btn.icon{padding:5px 7px;font-size:14px;line-height:1}.tool-btn.icon-lg{padding:6px 9px;font-size:17px;line-height:1}.tool-btn:hover:not(:disabled){color:var(--foreground);background:var(--accent)}.tool-btn.active{background:var(--primary);color:var(--primary-foreground)}.tool-btn:disabled{opacity:.4;cursor:default}.tool-btn svg{vertical-align:-2px}.tool-btn.icon-lg svg{vertical-align:-3px}.hud-sheet{padding:0 6px;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--foreground);white-space:nowrap}.hud-sheet .muted{color:var(--muted-foreground)}.hud-search{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--muted-foreground)}.hud-search svg{flex:0 0 auto;font-size:13px}.hud-search input{border:none;outline:none;background:transparent;color:var(--foreground);font:inherit;font-size:12.5px;width:168px;padding:2px 0}.hud-search:focus-within{border-color:var(--primary)}.sb-header-nav{display:flex;align-items:center;gap:2px;padding:8px 10px}.sb-title-nav{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;font-size:13px;color:var(--foreground)}.sb-muted{color:var(--muted-foreground);font-weight:500}.bldg-modal{width:min(720px,94vw)}.bldg-modal .bldg-modal-sub{font-size:12px;color:var(--muted-foreground);margin:-8px 0 14px;line-height:1.5}.bldg-modal .bldg-modal-scroll{max-height:min(52vh,460px);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px}.bldg-modal .bldg-part{padding:10px 12px 12px}.bldg-modal .bldg-part+.bldg-part{border-top:1px solid var(--border)}.bldg-modal .bldg-part-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.bldg-modal .bldg-part-name{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.bldg-modal .bldg-part-all{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted-foreground);margin:0;font-weight:500;white-space:nowrap}.bldg-modal .bldg-table{width:100%;border-collapse:collapse}.bldg-modal .bldg-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);font-weight:600;padding:2px 6px 4px}.bldg-modal .bldg-table td{padding:2px 6px;border-top:1px solid var(--border)}.bldg-modal .bldg-sheet{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px;font-variant-numeric:tabular-nums}.bldg-modal .bldg-meta{color:var(--muted-foreground);font-size:11.5px}.bldg-modal .bldg-title{font-style:normal}.bldg-modal .bldg-table input,.bldg-modal .bldg-part-all input{width:110px;margin:0;padding:4px 8px;font-size:12.5px}.bldg-modal .bldg-flag{font-size:10.5px;color:var(--muted-foreground);text-align:right;white-space:nowrap;width:34px}.bldg-modal .modal-actions{align-items:center}.sb-bldg-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-matrix-wrap{width:100%;height:100%;display:flex;flex-direction:column;min-height:0;min-width:0}.mapping-matrix-wrap .gt-wrap{flex:1;min-height:0}.mapping-note{font-size:12px;color:var(--muted-foreground);line-height:1.5;border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;margin:10px 12px 0;max-width:720px}.mapping-note-warn{color:var(--foreground);border-color:#e0b872;background:color-mix(in srgb,#e0b872 12%,transparent);max-width:860px}.sup-hint{color:var(--muted-foreground);font-size:11px;cursor:help}.sb-searchbar{padding-bottom:0}.unit-search-input{width:100%;background:var(--background);border:1px solid var(--input);border-radius:var(--radius-md);color:var(--foreground);padding:5px 9px;font-size:12.5px}.unit-search-input:focus{outline:2px solid var(--ring);outline-offset:-1px}.symbol-preview{position:absolute;right:16px;bottom:18px;z-index:6;width:340px;max-width:calc(100% - 32px);background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3, var(--shadow-2));overflow:hidden}.symbol-preview .sp-head{display:flex;align-items:center;gap:10px;padding:12px 14px 10px;border-bottom:1px solid var(--border)}.symbol-preview .sp-title{font-size:13px;font-weight:600}.symbol-preview .sp-sub{font-size:11.5px;color:var(--muted-foreground)}.symbol-preview .sp-count{margin-left:auto;font-size:26px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.symbol-preview .sp-body{display:flex;gap:12px;align-items:flex-start;padding:12px 14px}.symbol-preview .sp-thumb{width:56px;height:56px;flex:none;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background)}.symbol-preview .sp-facts{font-size:12px;line-height:1.5;min-width:0}.symbol-preview .sp-note{margin-top:6px;color:var(--muted-foreground)}.symbol-preview .sp-warn{color:var(--destructive, #b91c1c)}.symbol-preview .sp-actions{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 14px}.symbol-preview .sp-actions .btn.primary{flex:1 0 100%}.symbol-preview .sp-actions .btn:not(.primary){flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-cell .symbol-chip{width:18px;height:18px;flex:none;border-radius:3px;border:1px solid var(--border);background:var(--background);object-fit:contain}.ms-mask{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#0f12168c;backdrop-filter:blur(2px)}.ms-shell{width:min(940px,92vw);height:min(600px,86vh);display:flex;flex-direction:column;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3, var(--shadow-2));overflow:hidden}.ms-head{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--border)}.ms-title{font-size:14px;font-weight:600}.ms-preview{font-size:13px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.ms-preview b{font-size:18px;color:var(--card-foreground)}.ms-preview .ms-dim{opacity:.6}.ms-preview .ms-warn{color:var(--destructive, #b91c1c)}.ms-x{margin-left:auto;width:26px;height:26px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground);font-size:19px;line-height:1;cursor:pointer}.ms-x:hover{background:var(--accent);color:var(--accent-foreground)}.ms-body{flex:1;display:flex;min-height:0}.ms-side{width:268px;flex:none;display:flex;flex-direction:column;gap:8px;padding:12px;border-right:1px solid var(--border);overflow-y:auto}.ms-grow{flex:1;min-height:8px}.ms-tabs{display:flex;gap:4px;padding:3px;background:var(--muted);border-radius:var(--radius-md)}.ms-tab{flex:1;padding:6px 8px;border:0;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--muted-foreground);font-size:12.5px;font-weight:500;cursor:pointer}.ms-tab.active{background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow-1, 0 1px 2px rgba(0, 0, 0, .08))}.ms-help,.ms-note{margin:2px 0;font-size:11.5px;line-height:1.55;color:var(--muted-foreground)}.ms-note{margin:-2px 0 6px}.ms-row{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:3px 0}.ms-row span{flex:1}.ms-row kbd{font:500 10.5px/1.6 ui-sans-serif,system-ui,sans-serif;padding:1px 6px;border:1px solid var(--border);border-radius:4px;color:var(--muted-foreground);background:var(--muted)}.ms-row.ms-count{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.ms-opt{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12.5px}.ms-opt label{flex:1;cursor:pointer}.ms-toggle{flex:none;width:34px;height:19px;padding:0;border:0;border-radius:999px;background:var(--border);cursor:pointer;transition:background .15s}.ms-toggle.on{background:var(--primary)}.ms-knob{display:block;width:15px;height:15px;margin-left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.ms-toggle.on .ms-knob{transform:translate(15px)}.ms-field{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--muted-foreground)}.ms-field input{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);font-size:13px}.ms-actions{display:flex;gap:8px}.ms-actions .btn{flex:1}.ms-canvas{position:relative;flex:1;min-width:0;background:#fff}.sb-footer .sb-group{margin-top:4px;padding-top:8px;border-top:1px solid var(--border);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.ms-row.ms-act{margin:0 -6px;padding:4px 6px;border-radius:var(--radius-md);cursor:pointer}.ms-row.ms-act:hover{background:var(--accent);color:var(--accent-foreground)}.ms-row.ms-act:focus-visible{outline:2px solid var(--ring, var(--primary));outline-offset:-2px}.unit-cell .unit-term{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-family:var(--font-mono, ui-monospace, monospace);color:var(--muted-foreground);background:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 4px;line-height:1.5}.canvas-wrap.markup-draw{cursor:crosshair}.canvas-wrap.markup-erase{cursor:cell}.markup-ink-chip{pointer-events:auto;width:16px;height:16px;margin:0 6px 0 3px;border-radius:5px;border:1.5px solid color-mix(in oklab,var(--foreground) 25%,transparent);cursor:pointer;flex:0 0 auto}.tool-btn.is-off{opacity:.55}.markup-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;width:132px}.markup-swatch{height:18px;border-radius:5px;border:1.5px solid transparent;padding:0;cursor:pointer}.markup-swatch:hover{transform:scale(1.1)}.markup-swatch.on{box-shadow:0 0 0 1.5px var(--card),0 0 0 3px var(--foreground)}.markup-swatch.lg{position:relative;height:26px;width:34px;border-radius:7px}.markup-swatch-n{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45);pointer-events:none}.markup-stepper{display:inline-flex;align-items:center;gap:7px}.markup-stepper input[type=range]{width:92px;accent-color:var(--primary)}.markup-num{width:34px;text-align:right;font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--muted-foreground)}.markup-assign-btn{width:100%;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-md);padding:5px 8px}.markup-tally{font-size:11px;color:var(--muted-foreground);line-height:1.5}.markup-text-input{position:fixed;z-index:30;resize:none;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;background:#fffffff0;border:1px solid;border-radius:3px;outline:none;box-shadow:var(--shadow-2);white-space:pre}.qty-src{font-size:10px;font-weight:700;letter-spacing:.02em;padding:0 3px;border-radius:3px;margin-left:3px;vertical-align:1px}.qty-src.manual{color:#b45309;background:color-mix(in oklab,#b45309 12%,transparent)}.qty-src.detected{color:var(--muted-foreground);background:var(--muted)}.unit-cell .manual-chip{flex:0 0 auto;font-size:10px;font-weight:700;color:#b45309;border:1px solid color-mix(in oklab,#b45309 40%,transparent);border-radius:4px;padding:0 3px;line-height:1.5}.ctx-rows{padding:2px 0 4px}.ctx-rows-label{padding:4px 12px 3px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.ctx-rows-list{max-height:150px;overflow-y:auto}.ctx-row{display:flex;align-items:center;gap:8px;width:100%;padding:4px 12px;border:none;background:transparent;color:var(--popover-foreground);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.ctx-row:hover{background:var(--accent);color:var(--accent-foreground)}.ctx-row.active{font-weight:600}.ctx-row-dot{flex:0 0 auto;width:9px;height:9px;border-radius:3px;border:1px solid color-mix(in oklab,var(--foreground) 25%,transparent)}.ctx-row-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-row-check{color:var(--primary);font-weight:700}.tool-btn.section-open{color:var(--foreground);background:color-mix(in oklab,var(--primary) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--primary) 40%,transparent)}.hud-bottom{position:absolute;left:0;right:0;bottom:18px;z-index:7;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr);align-items:end;gap:12px;padding:0 14px;pointer-events:none}.hud-bottom-left{grid-column:1;justify-self:start;min-width:0}.hud-bottom-center{grid-column:2;min-width:0;display:flex;flex-direction:column-reverse;align-items:center;gap:8px}.hud-bottom-center>*{pointer-events:auto;max-width:min(760px,100%)}.hud-bottom .canvas-hint{pointer-events:none}.hud-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.hud-subrow{pointer-events:auto;display:flex;max-width:100%}.hud-subbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;row-gap:4px;padding:4px;background:var(--card);border:1px solid var(--border);border-radius:6px 12px 12px;box-shadow:var(--shadow-2)}.hud-count-as{display:inline-flex;align-items:center;gap:6px;padding:0 4px;font-size:12px;color:var(--muted-foreground);white-space:nowrap}.hud-count-as select{background:var(--background);border:1px solid var(--input);color:var(--foreground);border-radius:var(--radius-sm);padding:3px 5px;font-size:12px;max-width:160px}.hud-tally{padding:0 6px;font-size:11.5px;color:var(--muted-foreground);white-space:nowrap}.hud-search-x{border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;display:inline-flex;padding:2px;border-radius:4px}.hud-search-x:hover{color:var(--foreground);background:var(--accent)}.mk-popover{position:fixed;z-index:80;background:var(--popover, var(--card));color:var(--popover-foreground, var(--foreground));border:1px solid var(--border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-3, var(--shadow-2));padding:10px}.mk-tooloptions{display:flex;align-items:stretch;gap:12px}.mk-to-rows{display:flex;flex-direction:column;gap:10px;min-width:210px;justify-content:center}.mk-to-row{display:grid;grid-template-columns:58px 1fr 38px;align-items:center;gap:8px;font-size:12.5px;color:var(--foreground)}.mk-to-row input[type=range]{width:100%;accent-color:var(--primary)}.mk-to-row b{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;color:var(--muted-foreground)}.mk-to-preview{width:78px;border-radius:8px;display:grid;place-items:center;background-color:#fff;background-image:linear-gradient(45deg,#e6e6e6 25%,transparent 25%),linear-gradient(-45deg,#e6e6e6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e6e6e6 75%),linear-gradient(-45deg,transparent 75%,#e6e6e6 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.mk-to-sample-dot{border-radius:50%;display:block}.mk-to-sample-shape{width:42px;height:30px;border-style:solid;display:block}.mk-to-sample-shape.round{border-radius:50%}.mk-to-sample-text{font-weight:700}.mk-colorpicker{width:236px}.mk-colorpicker.compact{width:auto;padding:4px 10px 10px}.mk-cp-tabs{display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--muted, #f3f4f6);margin-bottom:10px}.mk-cp-tab{flex:1;border:none;background:transparent;color:var(--muted-foreground);font:inherit;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;cursor:pointer}.mk-cp-tab.on{background:var(--primary);color:var(--primary-foreground)}.mk-cp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mk-cp-dot{aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in oklab,var(--foreground) 18%,transparent);padding:0;cursor:pointer}.mk-cp-dot:hover{transform:scale(1.12)}.mk-cp-dot.on{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--foreground)}.mk-cp-custom{display:flex;flex-direction:column;gap:10px}.mk-cp-square{position:relative;height:132px;border-radius:8px;overflow:hidden;cursor:crosshair;touch-action:none}.mk-cp-square-white,.mk-cp-square-black{position:absolute;inset:0}.mk-cp-square-white{background:linear-gradient(to right,#fff,#fff0)}.mk-cp-square-black{background:linear-gradient(to top,#000,#0000)}.mk-cp-hue{position:relative;height:14px;border-radius:999px;cursor:pointer;touch-action:none;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.mk-cp-thumb{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000059;transform:translate(-50%,-50%);pointer-events:none}.mk-cp-hue-thumb{top:50%}.mk-cp-hexlabel{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted-foreground)}.mk-cp-hex{width:100%;background:var(--muted, #f3f4f6);border:1px solid var(--input, var(--border));border-radius:6px;color:var(--foreground);font:inherit;font-size:12.5px;font-family:var(--font-mono, ui-monospace, monospace);padding:6px 8px}.mk-cp-hex:focus{outline:2px solid var(--ring);outline-offset:-1px}.ctx-color-trigger{display:flex;align-items:center;gap:8px;width:100%}.ctx-color-dot{width:12px;height:12px;border-radius:4px;border:1px solid color-mix(in oklab,var(--foreground) 22%,transparent);flex:0 0 auto}.ctx-color-caret{margin-left:auto;color:var(--muted-foreground);font-size:10px}.modal.mk-assign{width:460px;max-width:94vw;padding:22px}.mk-assign-sub{color:var(--muted-foreground);font-size:13px;line-height:1.5;margin:-6px 0 18px}.mk-assign-label{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;color:var(--foreground);margin-bottom:8px}.mk-assign-label.sm{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted-foreground);margin:12px 0 6px}.mk-assign-modes{margin-left:auto;display:flex;gap:4px}.mk-assign-empty{font-size:12.5px;color:var(--muted-foreground);padding:6px 0 2px}.mk-swatch-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.mk-swatch-card{display:flex;align-items:center;gap:9px;padding:7px 12px 7px 9px;border:1.5px solid var(--border);border-radius:10px;background:var(--background);cursor:pointer;font:inherit;text-align:left}.mk-swatch-card:hover{border-color:color-mix(in oklab,var(--foreground) 30%,var(--border))}.mk-swatch-card.on{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 7%,var(--background))}.mk-swatch-dot{width:22px;height:22px;border-radius:7px;flex:0 0 auto;border:1px solid color-mix(in oklab,var(--foreground) 20%,transparent)}.mk-swatch-dot.any{background:conic-gradient(#d93025,#f9ab00,#188038,#12b5cb,#1a73e8,#9334e6,#d93025)}.mk-swatch-meta{display:flex;flex-direction:column;line-height:1.25;font-size:12.5px;color:var(--foreground)}.mk-swatch-name{font-size:11px;color:var(--muted-foreground);text-transform:capitalize}.mk-pill,.mk-pill-row>button{padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--foreground);font:inherit;font-size:12px;cursor:pointer}.mk-pill.on{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,transparent);font-weight:600}.mk-pill:disabled{opacity:.45;cursor:default}.mk-pill-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mk-range{display:inline-flex;align-items:center;gap:6px}.mk-range input{width:62px;margin:0;padding:4px 8px;font-size:12.5px}.mk-range span{font-size:12px;color:var(--muted-foreground)}.mk-more{display:flex;align-items:center;gap:8px;width:100%;margin:4px 0 0;padding:8px 0;border:none;border-top:1px solid var(--border);background:transparent;color:var(--muted-foreground);font:inherit;font-size:12.5px;cursor:pointer;text-align:left}.mk-more:hover{color:var(--foreground)}.mk-more-sum{margin-left:auto;font-size:11.5px;opacity:.85}.mk-more-body{padding-bottom:6px}.mk-check{display:flex;align-items:flex-start;gap:9px;margin:14px 0 4px;font-size:12.5px;cursor:pointer}.mk-check input{width:auto;margin:2px 0 0;flex:0 0 auto}.mk-check span{display:flex;flex-direction:column;gap:2px}.mk-check small{color:var(--muted-foreground);font-size:11.5px}.mk-assign-result{margin:16px 0 0;padding:10px 12px;border-radius:8px;background:var(--secondary, #f5f5f5);font-size:12.5px;line-height:1.5}.mk-assign-result.empty{color:var(--muted-foreground)}.mk-link{border:none;background:transparent;color:var(--primary);font:inherit;font-size:12.5px;padding:0;cursor:pointer;text-decoration:underline}.mk-assign-why{margin-top:8px;font-size:11.5px;color:var(--muted-foreground);text-align:right}.modal.mk-assign .modal-actions{margin-top:16px}.modal.mk-assign input,.modal.mk-assign select{margin-bottom:4px}.hud-corner-bl{pointer-events:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:4px 9px;border-radius:7px;background:color-mix(in oklab,var(--card) 88%,transparent);border:1px solid var(--border);color:var(--muted-foreground);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:var(--shadow-1, var(--shadow-2));backdrop-filter:blur(4px)}.canvas-hint{transition:opacity .35s ease,transform .35s ease}.canvas-hint.is-fading{opacity:0;transform:translateY(4px)}.sht-wrap{position:relative;overflow:auto;background:var(--card);width:100%;height:100%;max-height:100%;border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px #1816120d;--sht-line: color-mix(in oklab, var(--border) 62%, transparent);--sht-line-soft: color-mix(in oklab, var(--border) 40%, transparent);--sht-hover: color-mix(in oklab, var(--accent) 40%, var(--card));--sht-sel: color-mix(in oklab, var(--primary) 10%, var(--card));--sht-sel-strong: color-mix(in oklab, var(--primary) 55%, var(--card));--sht-ovr: color-mix(in oklab, var(--primary) 8%, var(--card))}.sht{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12.5px;user-select:none}.sht-wrap.dense .sht{font-size:12px}.sht thead th{position:sticky;top:0;z-index:3;background:var(--secondary);color:var(--foreground);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:5px 8px;border-bottom:1px solid var(--border);border-right:1px solid var(--sht-line);white-space:nowrap;overflow:hidden;user-select:none;cursor:default}.sht thead tr.sht-groups th{top:0;z-index:4;font-size:10px;height:24px;box-sizing:border-box;padding:0 8px;vertical-align:middle;background:color-mix(in oklab,var(--primary) 6%,var(--secondary));border-bottom:none;text-align:center}.sht thead tr.sht-groups th.empty{background:var(--secondary)}.sht thead tr.sht-groups th:not(.empty){cursor:grab;text-overflow:ellipsis}.sht-group-label{pointer-events:none}.sht-group-x{border:none;background:transparent;color:var(--muted-foreground);font:inherit;font-size:9.5px;line-height:1;padding:2px 4px;margin-left:5px;border-radius:4px;cursor:pointer;opacity:0;vertical-align:1px}.sht thead tr.sht-groups th:hover .sht-group-x{opacity:1}.sht-group-x:hover{color:var(--destructive);background:color-mix(in oklab,var(--destructive) 12%,transparent)}.sht-wrap.has-groups thead tr.sht-cols th{top:24px}.sht thead th.dragging{opacity:.5}.sht thead th.drop{box-shadow:inset 2px 0 0 var(--primary)}.sht thead th.sel{background:var(--sht-sel-strong)}.sht-th-label{pointer-events:none}.sht-col-resize{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:5}.sht td{position:relative;padding:4px 8px;border-bottom:1px solid var(--sht-line);border-right:1px solid var(--sht-line-soft);white-space:nowrap;overflow:hidden;color:var(--foreground);background:var(--card);vertical-align:middle}.sht-wrap.dense td{padding:3px 7px}.sht tbody tr:hover td{background-color:var(--sht-hover)}.sht td.num{text-align:right;font-variant-numeric:tabular-nums}.sht td.strong{font-weight:700}.sht td.warn{color:var(--destructive);font-weight:700;font-size:11px}.sht td.dim{color:color-mix(in oklab,var(--muted-foreground) 62%,transparent)}.sht td.sel,.sht tbody tr:hover td.sel{background-color:var(--sht-sel)}.sht td.sel-a{box-shadow:inset 0 0 0 2px var(--primary)}.sht tbody td.flag-wide,.sht tbody tr:hover td.flag-wide{background-color:#fc6;color:#1c1c1c;font-weight:700}.sht tbody td.flag-tall,.sht tbody tr:hover td.flag-tall{background-color:#ea4335;color:#fff;font-weight:700}.sht tbody td.flag-area,.sht tbody tr:hover td.flag-area{background-color:#fde865;color:#1c1c1c;font-weight:700}.sht td.act{text-align:center;padding:2px 4px}.sht-act{border:1px solid var(--sht-line);background:transparent;color:var(--muted-foreground);font:inherit;font-size:11px;border-radius:4px;padding:1px 7px;cursor:pointer;white-space:nowrap}.sht-act:hover{color:var(--foreground);border-color:var(--primary);background:color-mix(in oklab,var(--primary) 7%,transparent)}.sht th.sticky-col,.sht td.sticky-col{position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--border)}.sht thead th.sticky-col{z-index:5}.sht tr.sht-section td{background:color-mix(in oklab,var(--foreground) 8%,var(--card));font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--foreground);border-right:none;padding:5px 8px}.sht tr.sht-total td{background:color-mix(in oklab,var(--secondary) 72%,var(--card));font-weight:600;border-top:2px solid var(--border)}.sht tr.dragging td{opacity:.5}.sht tr.drop td{box-shadow:inset 0 2px 0 var(--primary)}.sht .sht-gutter{padding:0 3px;text-align:center;background:var(--secondary);border-right:1px solid var(--border);cursor:default}.sht-grip{cursor:grab;color:var(--muted-foreground);font-size:11px;opacity:0}.sht tbody tr:hover .sht-grip{opacity:1}.sht-row-resize{position:absolute;left:0;right:0;bottom:0;height:5px;cursor:row-resize;z-index:2}.sht-x{border:none;background:transparent;color:var(--muted-foreground);font-size:11px;cursor:pointer;opacity:0;padding:2px 4px}.sht tbody tr:hover .sht-x{opacity:1}.sht-x:hover{color:var(--destructive)}.sht-editor{width:100%;min-width:56px;box-sizing:border-box;background:var(--background);color:var(--foreground);border:1px solid var(--primary);border-radius:4px;padding:2px 5px;font:inherit}.sht td.ovr{background:var(--sht-ovr)}.sht-dot{position:absolute;top:2px;right:2px;width:5px;height:5px;border-radius:50%;background:var(--primary);pointer-events:none}.sht-val{pointer-events:none}.sht-inline-select{width:100%;box-sizing:border-box;appearance:none;-webkit-appearance:none;background:transparent;color:inherit;border:none;padding:0 14px 0 0;margin:0;font:inherit;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'><path d='M1 1.5 4 4.5 7 1.5' fill='none' stroke='%23999' stroke-width='1.4' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 2px center}.sht-inline-select:hover,.sht-inline-select:focus{outline:none;color:var(--foreground)}.sht td:hover .sht-inline-select{background-color:color-mix(in oklab,var(--primary) 6%,transparent);border-radius:3px}.sht-fill-handle{position:absolute;width:8px;height:8px;box-sizing:border-box;background:color-mix(in oklab,var(--primary) 85%,#1a73e8);border:1.5px solid var(--card);border-radius:1.5px;cursor:crosshair;z-index:6}.sht-fillrect{position:absolute;border:2px dashed color-mix(in oklab,var(--primary) 85%,#1a73e8);pointer-events:none;z-index:5}.modal.settings-modal{width:min(560px,94vw);max-height:min(86vh,720px);padding:0;display:flex;flex-direction:column;overflow:hidden}.set-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.set-head h3{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.set-body{padding:6px 20px 8px;overflow-y:auto;flex:1 1 auto}.set-section{padding:14px 0;border-bottom:1px solid var(--border)}.set-section:last-child{border-bottom:none}.set-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);margin-bottom:10px}.set-section-note{margin:-4px 0 10px}.set-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:6px 0}.set-row-text{min-width:0}.set-row-label{font-size:13px;font-weight:500;color:var(--foreground)}.set-row-hint{font-size:12px;line-height:1.45;color:var(--muted-foreground);margin-top:2px}.set-foot{padding:14px 20px;border-top:1px solid var(--border);justify-content:space-between}.switch{flex:0 0 auto;position:relative;width:38px;height:22px;border-radius:999px;border:1px solid var(--border);background:var(--secondary);padding:0;cursor:pointer;transition:background .15s ease,border-color .15s ease}.switch.on{background:var(--primary);border-color:var(--primary)}.switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--background);box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.switch.on .switch-knob{transform:translate(16px)}.kb-list{display:flex;flex-direction:column;gap:4px}.kb-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:8px 0}.kb-keys{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;max-width:62%}.kb-chip{display:inline-flex;align-items:center;gap:2px;height:26px;padding:0 3px 0 8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--secondary)}.kb-key{font-family:var(--mono, ui-monospace, monospace);font-size:12px;font-weight:600;color:var(--foreground);line-height:1}.kb-chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:var(--muted-foreground);font-size:16px;line-height:1;cursor:pointer;border-radius:4px}.kb-chip-x:hover{color:var(--foreground);background:var(--muted)}.kb-add{display:inline-flex;align-items:center;height:26px;padding:0 9px;border:1px dashed var(--border);border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.kb-add:hover{color:var(--foreground);border-color:var(--muted-foreground)}.kb-add-armed{border-style:solid;border-color:var(--primary);color:var(--primary);outline:none}.gt-wrap{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;min-width:0}.gt-grid{flex:1 1 auto;min-height:0;min-width:0;overflow:auto}.avt-zoom{display:inline-flex;align-items:center;gap:4px}.avt-zoom input[type=range]{width:140px;accent-color:var(--muted-foreground, #9ca3af)}.avt-zoom-pct{border:0;background:transparent;font-size:11.5px;color:var(--muted-foreground, #6b7280);cursor:pointer;min-width:38px;text-align:left}.avt-zoom-pct:hover{color:var(--foreground, #111)}.wg-scroll{position:relative;overflow:auto;background:var(--background, #f6f7f9);outline:none}.wg-grid{position:relative;display:grid;background:#fff;color:#1a1d21;font-family:Arial Nova,Arial,sans-serif;font-size:13px;line-height:1.15;width:max-content}.wg-corner,.wg-colhead,.wg-rowhead{position:sticky;background:#f1f3f6;color:#5f6b7a;font-size:10.5px;font-weight:600;display:flex;align-items:center;justify-content:center;user-select:none;border-right:1px solid #cfd6dd;border-bottom:1px solid #cfd6dd}.wg-corner{top:0;left:0;z-index:40}.wg-colhead{top:0;z-index:30;position:sticky}.wg-colhead.frozen{z-index:34}.wg-rowhead{left:0;z-index:28}.wg-rowhead.frozen{z-index:32}.wg-colhead.sel,.wg-rowhead.sel{background:#dbe7f8;color:#1a56b0}.wg-rowhead.draggable{cursor:grab}.wg-rowhead.drag-before-r{box-shadow:inset 0 2px #1a73e8}.wg-rowhead.drag-after-r{box-shadow:inset 0 -2px #1a73e8}.wg-unhide{position:absolute;display:flex;align-items:center;justify-content:center;color:#1a56b0;background:#dde6f5;border:1px solid #b6c6e3;cursor:pointer;z-index:6;line-height:1}.wg-unhide:hover{background:#c8d9f2;color:#123c7c}.wg-unhide.left,.wg-unhide.right{top:3px;bottom:3px;width:9px;font-size:7px;border-radius:3px}.wg-unhide.left{left:1px}.wg-unhide.right{right:4px}.wg-unhide.top,.wg-unhide.bottom{left:2px;right:2px;height:9px;font-size:7px;border-radius:3px}.wg-unhide.top{top:1px}.wg-unhide.bottom{bottom:4px}.wg-rz-col{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:5}.wg-rz-row{position:absolute;left:0;bottom:-3px;height:7px;width:100%;cursor:row-resize;z-index:5}.wg-rz-col:hover,.wg-rz-row:hover{background:#1a73e859}.wg-cell{position:relative;display:flex;align-items:center;padding:1px 4px;min-width:0;min-height:0;overflow:hidden;white-space:nowrap;background:#fff}.wg-cell.frozen-c{position:sticky;z-index:5}.wg-cell.frozen-r{position:sticky;z-index:6}.wg-cell.frozen-c.frozen-r{z-index:7}.wg-cell.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.wg-cell.h-center{justify-content:center;text-align:center}.wg-cell.h-right{justify-content:flex-end;text-align:right}.wg-cell.v-top{align-items:flex-start}.wg-cell.v-bottom{align-items:flex-end}.wg-cell.spill{overflow:visible;z-index:1}.wg-text{min-width:0;white-space:inherit}.wg-cell:not(.wrap):not(.spill) .wg-text{overflow:hidden;text-overflow:clip}.wg-cell.editable{cursor:cell}.wg-dd-arrow{position:absolute;right:0;top:0;bottom:0;width:16px;display:flex;align-items:center;justify-content:center;font-size:9px;color:#5f6b7a;background:#eef1f5;border-left:1px solid #d3d9e0;cursor:pointer;z-index:2}.wg-dd-arrow:hover{background:#dde3ea;color:#1a56b0}.wg-dd-menu{position:absolute;z-index:25;background:#fff;border:1px solid #c9d1da;box-shadow:0 6px 18px #1018282e;border-radius:4px;max-height:260px;overflow-y:auto;padding:2px}.wg-dd-filter{padding:3px 8px;font-size:11px;color:#1a56b0;background:#eef4fd;border-radius:3px;margin-bottom:2px;font-style:italic}.wg-dd-item{padding:3px 8px;font-size:12.5px;cursor:pointer;border-radius:3px;white-space:nowrap}.wg-dd-item:hover,.wg-dd-item.hi{background:#e3edfb}.wg-dd-item.cur{font-weight:700}.wg-dd-item.wg-dd-clear{color:#6b7280;font-style:italic}.wg-dd-item.disabled{color:#9aa4b0;cursor:default}.wg-colhead.draggable{cursor:grab}.wg-colhead.drag-before-c,.wg-cell.drag-before-c{box-shadow:inset 2px 0 #1a73e8}.wg-colhead.drag-after-c,.wg-cell.drag-after-c{box-shadow:inset -2px 0 #1a73e8}.wg-cell.draggable-col{cursor:grab}.wg-note{position:absolute;top:0;right:0;width:12px;height:12px;cursor:help;z-index:2}.wg-note-dot{position:absolute;top:0;right:0;border-style:solid;border-width:0 7px 7px 0;border-color:transparent #d83b01 transparent transparent}.wg-ovr{position:absolute;left:1px;top:1px;width:5px;height:5px;border-radius:50%;background:#b45309;z-index:2}.wg-image{position:absolute;z-index:3;pointer-events:none}.wg-cellimg{position:absolute;inset:3px;overflow:hidden;pointer-events:none}.wg-cellimg>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.wg-cellimg>.wg-cellimg-tiny{filter:blur(5px);transform:scale(1.08)}.wg-cellimg>.wg-cellimg-full{opacity:0;transition:opacity .18s ease-out}.wg-cellimg.on>.wg-cellimg-full{opacity:1}.wg-cellimg.on>.wg-cellimg-tiny{opacity:0}@media(prefers-reduced-motion:reduce){.wg-cellimg>.wg-cellimg-full{transition:none}}.wg-plus{position:absolute;right:2px;top:50%;transform:translateY(-50%);z-index:2;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #9db3d8;border-radius:4px;background:#eef4fd;color:#1a56b0;font-size:13px;line-height:1;cursor:pointer}.wg-plus:hover{background:#dbe7f8}.wg-chip{position:absolute;right:1px;top:50%;transform:translateY(-50%);z-index:3;border:0;background:#eef1f5;color:#374151;border-radius:3px;font-size:11px;line-height:1;padding:2px 4px;cursor:pointer}.wg-chip:hover{background:#dde3ea}.wg-selseg{position:relative;background:#1a73e814;pointer-events:none;z-index:4}.wg-selseg.multi{background:#1a73e81f}.wg-selseg.froz-c{position:sticky;z-index:5}.wg-selseg.froz-r{position:sticky;z-index:6}.wg-selseg.froz-c.froz-r{z-index:7}.wg-fill-handle{position:absolute;right:-4px;bottom:-4px;width:8px;height:8px;box-sizing:border-box;background:#1a73e8;border:1.5px solid #fff;border-radius:1.5px;cursor:crosshair;pointer-events:auto;z-index:9}body.wg-fill-drag,body.wg-fill-drag *{cursor:crosshair!important;user-select:none}.wg-fillseg{position:relative;pointer-events:none;z-index:4}.wg-fillseg.froz-c{position:sticky;z-index:5}.wg-fillseg.froz-r{position:sticky;z-index:6}.wg-fillseg.froz-c.froz-r{z-index:7}.wg-rowdrop-line{position:absolute;left:0;height:0;border-top:2px solid #1a73e8;pointer-events:none;z-index:26}.wg-editor{position:absolute;z-index:20;border:2px solid #1a73e8;background:#fff;font-family:inherit;display:flex}.wg-editor input,.wg-editor textarea{border:0;outline:none;width:100%;height:100%;padding:0 3px;font:inherit;background:transparent;resize:none}.closet-d-empty{padding:28px 8px;color:var(--muted-foreground);font-size:13.5px;line-height:1.55}.closet-d-warn{margin:8px 0;padding:8px 10px;border:1px solid color-mix(in oklab,#d97706 45%,transparent);background:color-mix(in oklab,#d97706 10%,transparent);border-radius:var(--radius-md);font-size:12.5px}.closet-d-table{width:100%;border-collapse:collapse;font-size:12.5px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.closet-d-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);padding:6px 10px;border-bottom:1px solid var(--border);background:var(--secondary)}.closet-d-table td{padding:6px 10px;border-bottom:1px solid var(--border);cursor:pointer}.closet-d-table tr:last-child td{border-bottom:none}.closet-d-table tr.on td{background:color-mix(in oklab,var(--primary) 8%,transparent)}.closet-d-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.closet-d-actions{margin-top:14px}.closet-d-delete{margin-right:auto;color:var(--destructive)}.cd-outline{fill:none;stroke:var(--foreground)}.cd-strip{fill:color-mix(in oklab,var(--foreground) 3%,transparent);stroke:color-mix(in oklab,var(--foreground) 25%,transparent)}.cd-unit{fill:var(--card);stroke:var(--foreground)}.cd-sku{fill:var(--foreground);text-anchor:middle;dominant-baseline:central;font-weight:600}.cd-nosell{stroke:color-mix(in oklab,var(--foreground) 22%,transparent)}.cd-nosell-bg{fill:color-mix(in oklab,var(--muted-foreground) 12%,transparent)}.cd-nosell-line{stroke:color-mix(in oklab,var(--muted-foreground) 45%,transparent)}.cd-staged{fill:color-mix(in oklab,var(--muted-foreground) 8%,var(--card));stroke:color-mix(in oklab,var(--foreground) 45%,transparent)}.cd-sku-staged{fill:var(--muted-foreground)}.cd3-staged.sel .cd-staged{stroke:var(--primary, #16a34a)}.cd3-dim-line,.cd3-dim-tick{stroke:color-mix(in oklab,var(--foreground) 62%,transparent);fill:none;stroke-linecap:butt}.cd3-dim-ext{stroke:color-mix(in oklab,var(--foreground) 28%,transparent);fill:none}.cd3-dim-txt{fill:var(--foreground);text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums;font-weight:600;pointer-events:none}.cd3-dim.overall .cd3-dim-line,.cd3-dim.overall .cd3-dim-tick{stroke:color-mix(in oklab,var(--foreground) 85%,transparent)}.cd3-dim.overall .cd3-dim-txt{font-weight:700}.cd3-dim.gap .cd3-dim-txt{font-weight:500;fill:color-mix(in oklab,var(--foreground) 80%,transparent)}.cd-glyph-outline{fill:none;stroke:var(--muted-foreground)}.cd-glyph-run{fill:color-mix(in oklab,var(--primary) 55%,var(--foreground) 10%)}.closets-tab{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px}.closets-tab>.gt-wrap{flex:1 1 auto;min-height:0;height:auto}.closets-tab-empty-wrap{overflow:auto;padding:4px}.closets-tab-empty{padding:40px 24px;color:var(--muted-foreground);font-size:13.5px;line-height:1.6;max-width:60ch}.cd2-link{border:none;background:none;color:var(--primary, #16a34a);font:inherit;font-size:12px;font-weight:650;cursor:pointer;padding:0}.modal.closet-designer3{position:relative;width:min(720px,calc(100vw - 40px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:10px}.modal.closet-designer3.wide{width:min(1240px,calc(100vw - 32px));height:calc(100vh - 40px)}.cd3-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto}.cd3-title{font-size:15px;color:var(--muted-foreground)}.cd3-title b{font-weight:700;color:var(--foreground)}.cd3-steps{display:flex;align-items:center;gap:8px}.cd3-steps i{width:26px;height:1px;background:var(--border)}.cd3-step{display:inline-flex;align-items:center;gap:7px;border:none;background:none;color:var(--muted-foreground);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:0}.cd3-step span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;border:1px solid var(--border);font-size:11px}.cd3-step.on{color:var(--foreground)}.cd3-step.on span{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.cd3-step:disabled{opacity:.45;cursor:default}.cd3-setup{display:flex;flex-direction:column;gap:18px;padding:4px 0 6px;overflow-y:auto}.cd3-row{display:flex;gap:16px;flex-wrap:wrap}.cd3-field{display:flex;flex-direction:column;gap:6px;min-width:0;flex:0 0 auto}.cd3-row .cd3-field{flex:1 1 200px}.cd3-field>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.cd3-field select,.cd3-field input{background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-md);padding:7px 9px;font:inherit;font-size:13px}.cd3-glyphs{display:flex;gap:10px;flex-wrap:wrap}.cd3-shape{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--border);background:var(--background);border-radius:var(--radius-lg);padding:10px 14px;cursor:pointer;color:var(--foreground);min-width:92px}.cd3-shape em{font-style:normal;font-size:12.5px;font-weight:700}.cd3-shape i{font-style:normal;font-size:10.5px;color:var(--muted-foreground)}.cd3-shape.sm{min-width:0;padding:8px 10px}.cd3-shape.on{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 9%,transparent)}.cd3-corner{display:flex;gap:10px;flex-wrap:wrap}.cd3-corner-btn{flex:1 1 240px;text-align:left;border:1px solid var(--border);background:var(--background);border-radius:var(--radius-lg);padding:9px 12px;cursor:pointer;color:var(--foreground)}.cd3-corner-btn b{display:block;font-size:13px}.cd3-corner-btn i{font-style:normal;font-size:11px;color:var(--muted-foreground);line-height:1.4}.cd3-corner-btn.on{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 9%,transparent)}.cd3-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);overflow:hidden}.cd3-bar{flex:0 0 auto;display:flex;align-items:flex-end;gap:20px;row-gap:14px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--background)}.cd3-fields{display:flex;align-items:flex-end;gap:20px;row-gap:14px;flex-wrap:wrap;min-width:0}.modal .cd3-fld{display:flex;flex-direction:column;align-items:stretch;gap:5px;flex:0 0 auto}.modal .cd3-fld>span{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1;color:var(--muted-foreground);white-space:nowrap}.modal .cd3-fld>select{appearance:auto;width:var(--cd3-fw, 20ch);min-width:var(--cd3-fw, 20ch);max-width:var(--cd3-fw, 20ch);border:1px solid var(--input);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);font:inherit;font-size:12.5px;font-weight:600;padding:6px 8px;outline:none;cursor:pointer}.modal .cd3-fld>select:focus-visible{border-color:var(--primary, #16a34a)}.modal .cd3-fld>.fsel-trigger{width:var(--cd3-fw, 20ch);min-width:var(--cd3-fw, 20ch);max-width:var(--cd3-fw, 20ch);font-size:12.5px;font-weight:600;padding:6px 8px}.cd3-readout{margin-left:auto;display:flex;align-items:baseline;gap:12px;min-width:0;flex:0 1 auto}.cd3-skus{font-size:12.5px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.cd3-skus i{font-style:normal;color:var(--muted-foreground);margin-right:6px}.cd3-skus b{font-variant-numeric:tabular-nums}.cd3-muted{color:var(--muted-foreground)}.cd3-price{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.cd3-stage{position:relative;flex:1 1 auto;min-height:240px;background:var(--card);overflow:hidden;display:flex}.cd3-svg{width:100%;height:100%;touch-action:none;user-select:none}.cd3-unit{cursor:grab}.cd3-unit.sel .cd-unit{stroke:var(--primary, #16a34a)}.cd3-ghost.stage{fill:color-mix(in srgb,var(--muted-foreground) 16%,transparent);stroke:var(--muted-foreground);stroke-dasharray:4 3}.cd3-ghost.ok{fill:color-mix(in srgb,var(--primary, #16a34a) 22%,transparent);stroke:var(--primary, #16a34a)}.cd3-ghost.bad{fill:color-mix(in srgb,#dc2626 20%,transparent);stroke:#dc2626}.cd3-tools{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:3px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:3px 5px;box-shadow:var(--shadow-2)}.cd3-tool{display:grid;place-items:center;min-width:28px;height:26px;border:none;background:none;border-radius:999px;color:var(--muted-foreground);font:inherit;font-size:12.5px;cursor:pointer}.cd3-tool.wide{padding:0 11px;font-weight:600;color:var(--foreground)}.cd3-tool:hover:not(:disabled){background:var(--secondary);color:var(--foreground)}.cd3-tool.on{background:color-mix(in oklab,var(--primary) 14%,transparent);color:var(--foreground)}.cd3-tool:disabled{opacity:.35;cursor:default}.cd3-tool-div{width:1px;height:16px;background:var(--border);margin:0 2px}.cd3-az{font-weight:700;line-height:1}.cd3-az.sm{font-size:10px}.cd3-az.lg{font-size:15px}.cd3-tool.num{padding:0 6px;font-size:11px;font-variant-numeric:tabular-nums;min-width:38px}.cd3-refuse{position:absolute;left:50%;bottom:12px;transform:translate(-50%);background:color-mix(in srgb,#dc2626 12%,var(--card));border:1px solid #dc2626;color:var(--foreground);border-radius:999px;padding:5px 14px;font-size:12.5px;max-width:90%;box-shadow:var(--shadow-2)}.cd3-placing{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--primary, #16a34a) 9%,var(--card));border:1px solid color-mix(in srgb,var(--primary, #16a34a) 45%,transparent);border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600}.cd3-edited{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:10px}.cd3-edited-txt{font-size:12px;font-weight:600;color:var(--muted-foreground)}.cd3-edited-btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:var(--radius-md);padding:4px 11px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-1, none)}.cd3-edited-btn:hover{background:var(--secondary)}.cd3-staged-note{position:absolute;left:12px;bottom:12px;background:color-mix(in srgb,#d97706 12%,var(--card));border:1px solid color-mix(in srgb,#d97706 50%,transparent);border-radius:999px;padding:3px 12px;font-size:11.5px;font-weight:600;color:var(--foreground);pointer-events:none;white-space:nowrap}.cd3-confirm{position:absolute;inset:0;z-index:70;display:grid;place-items:center;background:color-mix(in srgb,var(--foreground) 22%,transparent);border-radius:var(--radius-lg)}.cd3-confirm-box{width:min(440px,92%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:18px 20px 16px}.cd3-confirm-box b{display:block;font-size:14px;margin-bottom:8px}.cd3-confirm-box p{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted-foreground)}.cd3-confirm-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.cd3-palette{position:absolute;left:10px;top:46px;width:244px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:8px;z-index:4}.cd3-palette.inline{position:static;width:auto;box-shadow:none;border:none;border-top:1px solid var(--border);border-radius:0;padding:6px 2px 2px}.cd3-pal-head{display:flex;gap:6px;align-items:center}.cd3-pal-head .fsel-trigger{flex:1;min-width:0;background:var(--background);padding:4px 6px;font-size:11.5px}.cd3-pal-x{border:none;background:none;color:var(--muted-foreground);font-size:16px;line-height:1;cursor:pointer;padding:0 3px}.cd3-pal-list{display:flex;flex-direction:column;gap:5px;margin-top:7px;max-height:320px;overflow-y:auto}.cd3-pal-item{display:grid;place-items:center;border:1px solid var(--foreground);background:var(--background);color:var(--foreground);border-radius:3px;font:inherit;font-size:10px;font-weight:700;cursor:grab;flex:none;padding:0;overflow:hidden;white-space:nowrap}.cd3-pal-item.on{border-color:var(--primary, #16a34a);background:color-mix(in srgb,var(--primary, #16a34a) 16%,var(--background))}.cd3-pal-empty,.cd3-pal-foot{font-size:10.5px;color:var(--muted-foreground);margin-top:6px}.cd3-menu{position:fixed;z-index:60;min-width:176px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:5px}.cd3-menu-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);padding:3px 8px 5px}.cd3-menu-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;background:none;color:var(--foreground);font:inherit;font-size:12.5px;text-align:left;padding:6px 8px;border-radius:var(--radius-md);cursor:pointer}.cd3-menu-item>span{display:inline-flex;align-items:center;gap:8px}.cd3-menu-item i{font-style:normal;color:var(--muted-foreground);font-size:11px}.cd3-menu-item:hover{background:var(--secondary)}.cd3-menu-item.danger{color:var(--destructive)}.cd3-cards{flex:0 0 auto;display:flex;align-items:stretch;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:5px;scrollbar-width:thin;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.cd3-cards::-webkit-scrollbar{height:8px}.cd3-cards::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--muted-foreground) 35%,transparent);border-radius:999px}.cd3-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);color:var(--foreground);padding:9px 11px;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:6px;flex:0 0 196px;min-width:0;scroll-snap-align:start}.cd3-card.on{border-color:var(--primary, #16a34a);background:color-mix(in srgb,var(--primary, #16a34a) 7%,var(--background))}.cd3-card.cross{margin-left:14px;border-style:dashed;border-color:color-mix(in srgb,#d97706 60%,transparent);background:color-mix(in srgb,#d97706 7%,var(--background));position:relative}.cd3-card.cross:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:1px;background:var(--border)}.cd3-card.cross.on{border-style:solid;border-color:#d97706;background:color-mix(in srgb,#d97706 14%,var(--background))}.cd3-card.cross .cd3-card-tag{color:color-mix(in srgb,#d97706 75%,var(--foreground))}.cd3-card-flag{align-self:flex-start;margin-top:-2px;border-radius:999px;border:1px solid color-mix(in srgb,#d97706 45%,transparent);background:color-mix(in srgb,#d97706 14%,transparent);padding:1px 7px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.cd3-card-tag{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);line-height:1.25}.cd3-card-dot{width:6px;height:6px;border-radius:50%;background:var(--primary, #16a34a)}.cd3-card-qty{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.35}.cd3-card-qty b{font-variant-numeric:tabular-nums}.cd3-card-price{margin-top:auto;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}@media(max-width:900px){.modal.closet-designer3.wide{width:calc(100vw - 20px)}}.cd3-viewwrap{position:absolute;inset:0;display:flex}.cd3-tool.mode{min-width:30px;font-size:11px;font-weight:700;letter-spacing:.02em}.cd3-3d{flex:1 1 auto;position:relative;overflow:hidden}.cd3-3d canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none}.cd3-3d-loading{margin:auto;color:var(--muted-foreground);font-size:13px}.cd3-pal3-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:8px 2px 6px;max-height:380px;overflow:auto}.cd3-pal3-item{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px 6px;border:1px solid var(--border);border-radius:10px;background:var(--card);cursor:grab;font:inherit}.cd3-pal3-item img{width:76px;height:76px;object-fit:contain;pointer-events:none}.cd3-pal3-item span{font-size:12px;font-weight:650;color:var(--foreground)}.cd3-pal3-item i{font-style:normal;font-size:9.5px;color:var(--muted-foreground);white-space:nowrap}.cd3-pal3-item:hover{border-color:color-mix(in oklab,var(--foreground) 30%,transparent)}.cd3-pal3-item.on{border-color:var(--primary, #16a34a);box-shadow:0 0 0 1px var(--primary, #16a34a)}.cd3-prefmenu{min-width:200px}.cd3-pref-row{display:flex;align-items:stretch;gap:2px}.cd3-pref-row .cd3-pref-w{flex:1 1 auto}.cd3-pref-x{border:none;background:none;border-radius:7px;min-width:26px;color:var(--muted-foreground);font-size:14px;cursor:pointer}.cd3-pref-x:hover:not(:disabled){background:color-mix(in srgb,#dc2626 12%,transparent);color:#dc2626}.cd3-pref-x:disabled{opacity:.3;cursor:default}.cd3-pref-picks{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px 8px}.cd3-pref-pick{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.cd3-pref-pick:hover{border-color:var(--primary, #16a34a);color:var(--foreground)}.cd3-pref-note{padding:5px 10px 7px;font-size:10.5px;color:var(--muted-foreground);border-top:1px solid var(--border);margin-top:4px}.dsr2-wrap{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;min-width:0}.dsr2-grid{flex:1 1 auto;min-height:0;min-width:0;overflow:auto}.xps-main{flex:1;min-width:0}.xps-chrome{position:absolute;inset:0;pointer-events:none;z-index:2}.xps-chrome.on{box-shadow:inset 0 0 0 3px var(--select)}.xps-tint{position:absolute;inset:0;background:color-mix(in oklab,var(--select) 16%,transparent)}.xps-check{position:absolute;top:10px;left:10px;width:28px;height:28px;border-radius:7px;border:2px solid rgba(0,0,0,.45);background:#fffffff2;box-shadow:0 1px 4px #00000040;pointer-events:auto;cursor:pointer;display:grid;place-items:center;font-size:16px;font-weight:700;line-height:1;color:#fff;padding:0}.xps-check:hover{border-color:var(--select)}.xps-check.on{background:var(--select);border-color:var(--select);color:var(--select-foreground)}.xps-pagenum{position:absolute;bottom:8px;left:10px;display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 20px);padding:3px 10px;border-radius:999px;background:#0000008c;color:#fff;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;user-select:none}.xps-src{font-style:normal;font-weight:500;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.xps-pills{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:2px 0}.xps-pills::-webkit-scrollbar{display:none}.xps-pills.fade-l.fade-r{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.xps-pills.fade-l:not(.fade-r){-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16px);mask-image:linear-gradient(to right,transparent 0,#000 16px)}.xps-pills.fade-r:not(.fade-l){-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 16px),transparent 100%)}.xps-pill{flex:0 0 auto;padding:3px 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--select) 55%,transparent);background:color-mix(in oklab,var(--select) 18%,transparent);color:var(--foreground);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;font-family:inherit}.xps-pill:hover{background:color-mix(in oklab,var(--select) 40%,transparent);border-color:var(--select)}.xps-pill:active{background:var(--select);color:var(--select-foreground)}.xps-pill:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.xp-render-progress{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap}.xp-render-bar{width:74px;height:5px;border-radius:999px;background:var(--secondary);overflow:hidden}.xp-render-bar>span{display:block;height:100%;border-radius:999px;background:var(--primary);transition:width .4s ease}.upm-cart{display:flex;flex-direction:column}.upm-cart-row{display:flex;align-items:center;gap:9px;padding:8px 10px 8px 8px;border-bottom:1px solid var(--border);cursor:pointer}.upm-cart-row:hover{background:var(--accent)}.upm-cart-row.here{box-shadow:inset 3px 0 0 var(--primary)}.upm-cart-num{width:14px;flex:0 0 auto;text-align:right;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.upm-cart-thumb{flex:0 0 auto;width:64px;height:44px;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:zoom-in}.upm-cart-thumb img{width:100%;height:100%;object-fit:contain;display:block}.upm-cart-meta{flex:1;min-width:0}.upm-cart-file{font-size:12px;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upm-cart-page{font-size:11.5px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.upm-cart-acts{flex:0 0 auto;display:flex;gap:2px;opacity:0}.upm-cart-row:hover .upm-cart-acts,.upm-cart-row:focus-within .upm-cart-acts{opacity:1}.upm-cart-btn{border:none;background:none;color:var(--muted-foreground);cursor:pointer;font-size:12px;line-height:1;padding:6px;border-radius:var(--radius-sm)}.upm-cart-btn:hover{color:var(--foreground);background:var(--secondary)}.upm-cart-btn.danger:hover{color:var(--danger, #c0392b)}.upm-review{flex:1;min-height:0;overflow:auto;padding:22px}.upm-review-inner{display:flex;gap:18px;align-items:flex-start;justify-content:center;flex-wrap:wrap;max-width:1560px;margin:0 auto}.upm-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px}.upm-table-panel{flex:0 1 520px;max-width:560px}.upm-shot-panel{flex:1 1 560px;max-width:none}.upm-tabs{display:flex;align-items:center;gap:2px;margin:12px 0;border-bottom:1px solid var(--border)}.upm-tab{appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:7px 12px 8px;font:inherit;font-size:13px;font-weight:600;color:var(--muted-foreground);cursor:pointer;border-radius:6px 6px 0 0}.upm-tab:hover{color:var(--foreground);background:color-mix(in srgb,var(--foreground) 5%,transparent)}.upm-tab.on{color:var(--foreground);border-bottom-color:var(--foreground)}.upm-tab-spacer{flex:1}.upm-tabs .btn{margin-bottom:4px}.upm-review-inner.upm-wide .upm-table-panel{flex:1 1 100%;max-width:none;min-width:0}.upm-review-inner.upm-wide .upm-shot-panel{display:none}.upm-mapping-host{height:min(68vh,780px);display:flex;flex-direction:column;min-height:0}.upm-mapping-host .mapping-note{margin:0 0 10px}.upm-shotbox{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:#fff}.upm-shot-embed{height:min(72vh,820px)}.upm-shot-full{flex:1;border:none;border-radius:0}.upm-viewer{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none}.upm-viewer:active{cursor:grabbing}.upm-viewer-stage{position:absolute;left:0;top:0;transform-origin:0 0}.upm-viewer-stage img{display:block;max-width:none}.upm-viewer-ctl{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:2px;padding:3px 6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.upm-viewer-ctl .pct{min-width:42px;text-align:center;font-size:12px;color:var(--muted-foreground)}.upm-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:16px;row-gap:12px;margin-bottom:12px}.upm-panel-heading{flex:1 1 auto;min-width:0}.upm-panel-title{font-weight:650;color:var(--foreground)}.upm-panel-sub{margin-top:2px;font-size:12.5px;color:var(--muted-foreground)}.upm-confidence-flag{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:550;color:#92400e;background:#fef3c7;border:1px solid #fde68a}.upm-confidence-flag svg{width:13px;height:13px;flex:none}.dark .upm-confidence-flag{color:#fcd34d;background:color-mix(in srgb,#f59e0b 14%,transparent);border-color:color-mix(in srgb,#f59e0b 34%,transparent)}.upm-save{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}.upm-table-panel .upm-save{flex:1 0 100%}.upm-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin-left:auto}@media(max-width:620px){.upm-actions{flex-wrap:wrap;justify-content:flex-end}}.upm-status{font-size:12.5px;min-width:0;margin-right:auto}.upm-status-ok{color:var(--ok);white-space:nowrap}.upm-status-err{color:var(--danger)}.upm-warn{margin-bottom:10px;padding:8px 10px;font-size:12.5px;line-height:1.5;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--danger, #c0392b);background:var(--secondary)}.upm-warn-link{border:none;background:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.upm-shot-ok{margin-bottom:10px;font-size:12.5px;color:var(--ok)}.upm-shot-nav{display:flex;align-items:center;gap:2px}.upm-shot-count{min-width:40px;text-align:center;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--foreground)}.upm-shot-count .muted{color:var(--muted-foreground)}.upm-table{width:100%;border-collapse:collapse;font-size:13.5px}.upm-table th{text-align:left;font-size:12px;font-weight:600;color:var(--muted-foreground);padding:6px 8px;border-bottom:1px solid var(--border)}.upm-table td{padding:0;border-bottom:1px solid var(--border)}.upm-table .upm-idx{width:48px;text-align:right;padding:6px 8px;font-size:12px;color:var(--muted-foreground);white-space:nowrap}.upm-table .upm-qty{width:140px}.upm-table th.upm-th-sort{padding:0}.upm-sort{display:flex;align-items:center;gap:5px;width:100%;padding:6px 8px;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.upm-sort:hover{color:var(--foreground);background:var(--secondary)}.upm-sort.on{color:var(--foreground)}.upm-sort-arrow{font-size:9px;line-height:1;opacity:0}.upm-sort:hover .upm-sort-arrow,.upm-sort.on .upm-sort-arrow{opacity:1}.upm-order-reset{border:none;background:none;color:var(--muted-foreground);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;border-radius:var(--radius-sm)}.upm-order-reset:hover{color:var(--foreground);background:var(--secondary)}.upm-table .upm-x{width:34px;text-align:center}.upm-table input{width:100%;padding:7px 8px;border:none;background:transparent;color:var(--foreground);font:inherit;outline:none}.upm-table input:focus{background:var(--secondary);box-shadow:inset 0 0 0 1.5px var(--ring)}.upm-drag{cursor:grab;color:var(--muted-foreground);margin-right:5px;opacity:0;user-select:none}.upm-table tr:hover .upm-drag{opacity:1}.upm-table tbody tr.dragging{opacity:.45}.upm-table tbody tr.sel td{background:var(--select, var(--secondary))}.upm-table tbody tr.sel input{background:transparent}.upm-table tbody tr.drop td{border-top:2px solid var(--primary)}.upm-remove{border:none;background:none;color:var(--muted-foreground);cursor:pointer;font-size:12px;padding:6px;border-radius:var(--radius-sm)}.upm-remove:hover{color:var(--danger, #c0392b);background:var(--secondary)}.upm-table tfoot td{border-bottom:none;padding:10px 8px 2px}.upm-table .upm-total{font-weight:650;color:var(--foreground);white-space:nowrap}.upm-empty{padding:18px 8px!important;text-align:center;color:var(--muted-foreground);font-size:13px}.upm-footnote{margin-top:12px;font-size:12px;line-height:1.5;color:var(--muted-foreground)}.seg-btn svg,.upm-save .btn svg{vertical-align:-2px}.xp-split{flex:1;display:flex;min-height:0}.xp-side{width:300px}.xp-side-scroll{padding:8px;display:flex;flex-direction:column;gap:8px}.xp-side-empty{padding:14px 10px;font-size:12.5px;line-height:1.55;color:var(--muted-foreground)}.xp-job{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:9px 10px}.xp-job-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xp-job-rename{width:100%;background:var(--background);border:1px solid var(--input);border-radius:var(--radius-sm);color:var(--foreground);padding:4px 7px;font-size:13px;font-family:inherit}.xp-job-meta{margin-top:3px;font-size:11.5px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xp-job-actions{margin-top:7px;display:flex;gap:4px}.xp-dest-actions{display:flex;gap:10px}.xp-dest-actions .btn{flex:1;justify-content:center}.xp-sub{color:var(--muted-foreground);font-size:13px;line-height:1.5;margin:-8px 0 16px;overflow-wrap:anywhere}.xp-stage{font-size:13px;color:var(--foreground);margin-bottom:10px;min-height:18px}.xp-bar{height:8px;border-radius:999px;background:var(--secondary);overflow:hidden}.xp-bar>div{position:relative;height:100%;border-radius:999px;background:var(--primary);transition:width .3s ease;min-width:6px}.xp-bar>div:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:xp-sheen 1.3s linear infinite}@keyframes xp-sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.xp-pct{margin-top:8px;font-size:12px;color:var(--muted-foreground);text-align:right}.xp-note{margin-top:14px;font-size:12.5px;color:var(--muted-foreground)}.xp-done-icon{width:44px;height:44px;margin:0 auto 12px;border-radius:999px;display:grid;place-items:center;font-size:22px;font-weight:700;color:var(--ok, #16a34a);background:color-mix(in oklab,var(--ok, #16a34a) 14%,transparent)}.xp-warnings{margin:0 0 14px;padding:10px 12px 10px 26px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--secondary);font-size:12px;color:var(--muted-foreground);line-height:1.5;max-height:130px;overflow-y:auto}.xp-landing{max-width:520px;text-align:center;padding:24px}.xp-landing h2{margin:0 0 10px;font-size:22px;font-weight:680;letter-spacing:-.02em;color:var(--foreground)}.xp-landing p{margin:0 0 20px;font-size:13.5px;line-height:1.6;color:var(--muted-foreground)}.xp-landing-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.xp-landing-hint{margin-top:16px;font-size:12.5px;color:var(--muted-foreground)}.cf-photo{position:relative;display:block;overflow:hidden;background:#fff}.cf-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.cf-photo>.cf-tiny{filter:blur(5px);transform:scale(1.08)}.cf-photo>.cf-full{opacity:0;transition:opacity .18s ease-out}.cf-photo.cf-on>.cf-full{opacity:1}.cf-photo.cf-on>.cf-tiny{opacity:0}.cf-skel{position:absolute;inset:0;background:linear-gradient(100deg,#f2f3f5 30%,#e8eaee,#f2f3f5 70%);background-size:240% 100%;animation:cf-skel-slide 1.25s linear infinite}@keyframes cf-skel-slide{0%{background-position:140% 0}to{background-position:-40% 0}}@media(prefers-reduced-motion:reduce){.cf-skel{animation:none}.cf-photo>.cf-full{transition:none}}.pair-capture-bar{display:flex;align-items:center;gap:10px;max-width:min(760px,86%);background:var(--card);border:1px solid var(--primary);color:var(--foreground);padding:7px 10px 7px 14px;border-radius:999px;font-size:12.5px;box-shadow:var(--shadow-2);z-index:6}.pcb-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--primary);animation:pcb-pulse 1.4s ease-in-out infinite}@keyframes pcb-pulse{0%,to{opacity:1}50%{opacity:.25}}.pcb-cancel{flex:0 0 auto;border:1px solid var(--border);background:var(--secondary);color:var(--foreground);border-radius:999px;padding:3px 11px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pcb-cancel:hover{border-color:var(--foreground)}.pair-capture-bar.pcb-idle{border-color:#d97706;background:color-mix(in srgb,#d97706 10%,var(--card))}.pcb-dot-idle{background:#d97706;animation:none}.pair-guard-modal{width:min(560px,94vw)}.pgm-warn{color:#d97706;margin-right:6px}.pgm-lead{color:var(--muted-foreground);font-size:13px;line-height:1.55;margin:4px 0 14px}.pgm-choices{display:flex;flex-direction:column;gap:8px}.pgm-choice{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--foreground);padding:10px 12px;font:inherit;cursor:pointer}button.pgm-choice:hover{border-color:var(--foreground)}.pgm-choice.primary{border-color:var(--primary, #16a34a);background:color-mix(in srgb,var(--primary, #16a34a) 8%,var(--card))}.pgm-choice.danger:hover{border-color:#dc2626;color:#dc2626}.pgm-choice-title{font-size:13.5px;font-weight:600}.pgm-choice-sub{font-size:12px;color:var(--muted-foreground);line-height:1.45}.pgm-sug-row{display:flex;align-items:center;gap:6px;margin-top:6px}.pgm-sug-row input{width:92px;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;font:inherit}.pgm-foot{display:flex;align-items:center;margin-top:14px}.pgm-leave{color:var(--muted-foreground)}.uts-trigger{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;max-width:92px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--foreground);font:inherit;font-size:11px;padding:2px 4px 2px 6px;cursor:pointer}.uts-trigger:hover{border-color:var(--foreground)}.uts-trigger.uts-multi{border-color:var(--foreground);font-weight:600}.uts-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uts-caret{flex:0 0 auto;font-size:9.5px;line-height:1;color:var(--muted-foreground)}.uts-pop{position:fixed;z-index:60;width:228px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);overflow:hidden}.uts-pop-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.uts-pop-count{text-transform:none;letter-spacing:0;font-weight:600}.uts-pop-list{overflow:auto;padding:3px 0}.uts-item{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:var(--foreground);font:inherit;font-size:12px;text-align:left;padding:4px 10px;cursor:pointer}.uts-item:hover{background:var(--secondary)}.uts-item.on{font-weight:600}.uts-check{flex:0 0 12px;color:var(--primary, #16a34a);font-size:11px}.uts-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uts-none{color:var(--muted-foreground)}.uts-qty{flex:0 0 auto;color:var(--muted-foreground);font-size:11px;font-weight:400}.uts-primary{flex:0 0 auto;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:0 5px}.uts-derived{padding:6px 10px;border-top:1px solid var(--border);font-size:11px;line-height:1.4;color:var(--muted-foreground)}.uts-pop-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-top:1px solid var(--border)}.uts-new,.uts-done{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--foreground);font:inherit;font-size:11.5px;padding:3px 9px;cursor:pointer}.uts-new:hover,.uts-done:hover{border-color:var(--foreground)}.measure-scale-warn{position:absolute;left:50%;bottom:18px;transform:translate(-50%);background:var(--card);border:1px solid var(--destructive);color:var(--destructive);padding:7px 14px;border-radius:999px;font-size:12.5px;font-weight:600;box-shadow:var(--shadow-2);z-index:5;pointer-events:none}.canvas-wrap.crosshair,.canvas-wrap.crosshair.grab{cursor:none}.snap-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-left:3px;vertical-align:middle}.save-cluster{display:flex;align-items:center;gap:12px}.save-ok{color:var(--ok, #16a34a);font-size:12.5px}.save-err{color:var(--destructive);font-size:12.5px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ver-badge{font-size:12px;font-weight:600;color:var(--accent, #2563eb);border:1px solid currentColor;border-radius:999px;padding:2px 10px;white-space:nowrap}.measure-empty{margin:auto;max-width:420px;padding:40px 16px;text-align:center;color:var(--muted-foreground);font-size:13.5px;line-height:1.6}.fx-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:2px;vertical-align:middle}.fx-dot.mirror{background:#2563eb}.fx-dot.shower{background:#16a34a}.scale-chip-wrap{position:relative;display:flex}.scale-chip{border:1px solid var(--border);background:var(--secondary);color:var(--foreground);border-radius:var(--radius-md);padding:6px 10px;font-size:12.5px;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}.scale-chip.arming{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.scale-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;z-index:20;padding:4px;background:var(--popover, var(--card));border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.scale-menu-list{max-height:240px;overflow-y:auto}.scale-chip .muted{color:var(--muted-foreground)}.sb-title{font-weight:600;font-size:13px;color:var(--foreground)}.meas-assign{padding:12px 14px;border-bottom:1px solid var(--border)}.meas-assign-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-foreground);margin-bottom:6px}.meas-assign-row{display:flex;gap:6px}.meas-select{flex:1;min-width:0;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 6px;font:inherit;font-size:13px}.meas-qty{width:62px;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 6px;font:inherit;font-size:13px;text-align:right}.meas-assign-hint{margin-top:6px;font-size:11px;color:var(--muted-foreground);line-height:1.4}.meas-list{display:flex;flex-direction:column}.meas-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;border-bottom:1px solid var(--border);padding:9px 14px;font:inherit;font-size:13px;color:var(--foreground);cursor:pointer}.meas-row:hover{background:var(--accent)}.meas-row.active{background:var(--accent);box-shadow:inset 2px 0 0 var(--primary)}.meas-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meas-dims{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums}.meas-area{color:var(--muted-foreground);font-variant-numeric:tabular-nums;min-width:46px;text-align:right}.pp-tab .sht td{padding-top:7px;padding-bottom:7px}.pp-tab{display:flex;flex-direction:column;width:100%;height:100%;overflow:auto;padding:14px 18px 32px;gap:0}.pp-tab .sht-wrap{height:auto;max-height:none;overflow:auto;flex:0 0 auto;width:max-content;min-width:0;max-width:100%}.pp-toolbar{display:flex;align-items:center;gap:10px;padding:0 0 10px}.pp-band{display:flex;align-items:center;gap:9px;padding:4px 2px 9px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--foreground)}.pp-band:before{content:"";width:4px;height:13px;border-radius:2px;background:var(--foreground)}.pp-band.alt:before{background:#17b8b8}.pp-band.adders:before{background:#f08c3a}.pp-band.alt,.pp-band.adders{margin-top:16px}.adders-modal{width:min(480px,94vw)}.adders-modal-sub{color:var(--muted-foreground);font-size:12.5px;line-height:1.5;margin:4px 0 12px}.adder-slot{display:flex;align-items:center;gap:10px;margin-bottom:6px}.adder-slot-n{width:16px;text-align:right;color:var(--muted-foreground);font-size:12px;font-variant-numeric:tabular-nums}.adder-slot select{flex:1;min-width:0;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font:inherit;font-size:13px}.adder-amt{width:72px;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-size:12.5px}.adders-modal-total{margin:10px 0 4px;font-size:13px;text-align:right}.pp-title{font-weight:700;font-size:13px;letter-spacing:.02em}.pp-banner{color:var(--destructive);font-size:12.5px;font-weight:600}.pp-section{margin-top:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.pp-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.pp-table{border-collapse:collapse;font-size:12.5px;width:max-content;min-width:100%}.pp-table th,.pp-table td{border:1px solid var(--border);padding:3px 6px;text-align:left;white-space:nowrap;vertical-align:middle}.pp-table thead th{background:var(--secondary);font-weight:600;font-size:11px;text-transform:uppercase}.pp-table td.num{text-align:right;font-variant-numeric:tabular-nums}.pp-table td.strong{font-weight:700}.pp-in{background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 5px;font:inherit;font-size:12.5px}.pp-in.num{text-align:right}.pp-in.ovr{border-color:var(--primary)}.pp-sku{font-family:var(--mono);font-weight:600}.pp-desc{max-width:260px;overflow:hidden;text-overflow:ellipsis;color:var(--muted-foreground)}.pp-warn{color:var(--destructive);font-weight:700;font-size:11px}.pp-chk{color:var(--muted-foreground);font-size:11px}.pp-totals td{background:var(--secondary);font-weight:600}.pp-orphan td{opacity:.6}.pp-x{border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:11px;padding:2px 4px}.pp-x:hover{color:var(--destructive)}.pp-hint{font-size:11.5px;color:var(--muted-foreground);line-height:1.5;padding:14px 2px 0}.pivot-wrap{width:100%;height:100%;overflow:auto}.pivot{border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.pivot th,.pivot td{border:1px solid var(--border);padding:6px 10px;text-align:center;white-space:nowrap}.pivot thead th{position:sticky;top:0;z-index:1;background:var(--secondary);color:var(--foreground);font-weight:600}.pivot .sticky-col{position:sticky;left:0;z-index:2;background:var(--secondary);text-align:left;font-weight:600}.pivot tbody .sticky-col{background:var(--card)}.pivot-grp.mirror{background:color-mix(in oklab,#2563eb 16%,var(--secondary))}.pivot-grp.shower{background:color-mix(in oklab,#16a34a 16%,var(--secondary))}.pivot .qty{font-weight:700}.pivot .mult{font-weight:700;color:var(--foreground)}.pivot .zero{color:var(--muted-foreground);opacity:.5}.pivot tr.unassigned .sticky-col{font-style:italic;color:var(--muted-foreground)}.pivot-grp.acc{background:color-mix(in oklab,#f0a13a 18%,var(--secondary))}.pivot-grp.acc .acc-add-btn{margin-left:8px;vertical-align:middle}.pivot .shower-tint{background:color-mix(in oklab,#16a34a 9%,var(--secondary))}.pivot .mirror-tint{background:color-mix(in oklab,#2563eb 9%,var(--secondary))}.pivot .acc-tint{background:color-mix(in oklab,#f0a13a 9%,var(--secondary))}.pivot .acc-qty-cell{padding:2px 4px}.acc-cell-input{width:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--foreground);font:inherit;font-size:12.5px;text-align:center;padding:3px 2px}.meas-section{border-bottom:1px solid var(--border)}.meas-section-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-foreground);background:var(--secondary);border:none}button.meas-collapse{cursor:pointer}.meas-count-row{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:13px}.meas-count{font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto}.acc-editor{padding:4px 0 8px}.acc-group-name{padding:6px 14px 2px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--muted-foreground)}.acc-row{display:flex;align-items:center;gap:8px;padding:3px 14px}.acc-name{flex:1;min-width:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-qty{width:48px}.acc-add-btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:var(--radius-sm);width:22px;height:22px;line-height:1;font-size:14px;cursor:pointer}.acc-add-btn:hover{background:var(--accent)}.acc-modal{width:min(680px,94vw);max-height:80vh;display:flex;flex-direction:column;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);padding:18px 20px}.acc-modal-head{flex:0 0 auto;display:flex;align-items:center;gap:14px;margin-bottom:12px}.acc-modal-head h3{margin:0;flex:0 0 auto;font-size:16px;font-weight:600;letter-spacing:-.01em}.acc-modal-search{flex:1;min-width:0;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-md);padding:7px 12px;font:inherit;font-size:13px}.acc-modal-search:focus{outline:2px solid var(--ring);outline-offset:-1px}.acc-modal-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:2px 2px 4px}.acc-modal-gname{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground);margin-bottom:6px}.acc-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.acc-modal-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;background:var(--card);color:var(--foreground)}.acc-modal-item:hover{border-color:var(--ring)}.acc-modal-item.on{background:color-mix(in oklab,var(--primary) 8%,var(--card));border-color:var(--primary)}.acc-modal-item input[type=checkbox]{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:var(--primary);cursor:pointer}.acc-modal-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-modal-none{padding:24px;text-align:center;color:var(--muted-foreground)}.acc-modal-add{justify-content:center;border-style:dashed;background:transparent;color:var(--muted-foreground);font:inherit;font-size:13px}.acc-modal-add:hover{color:var(--foreground);border-color:var(--ring)}.acc-modal-add-form{gap:6px}.acc-modal-add-form input{flex:1;min-width:0;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-sm);padding:4px 8px;font:inherit;font-size:12.5px}.acc-modal-err{color:var(--destructive, #dc2626)}.acc-modal-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.acc-modal-count{font-size:12.5px;color:var(--muted-foreground)}.mx-wrap{position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;padding:14px 18px 18px}.mx-undo{position:absolute;left:50%;bottom:28px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-2);font-size:13px;z-index:20;white-space:nowrap}.mx-undo-label{max-width:380px;overflow:hidden;text-overflow:ellipsis}.mx-undo-x{border:none;background:transparent;color:var(--muted-foreground);font-size:11px;cursor:pointer;padding:4px;border-radius:6px}.mx-undo-x:hover{color:var(--foreground)}.mx-typical{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--warning, #d99a2b);border-radius:8px;background:color-mix(in oklab,var(--muted) 60%,transparent);font-size:12.5px;line-height:1.5}.mx-typical p{margin:0;color:var(--muted-foreground)}.mx-typical-opt{display:flex;align-items:flex-start;gap:8px;margin-top:8px;cursor:pointer}.mx-typical-opt input{margin-top:2px;width:auto;flex:none}.mx-typical-sub{display:block;color:var(--muted-foreground);margin-top:2px}.linklike{border:none;background:none;color:var(--primary);font:inherit;font-size:inherit;cursor:pointer;padding:0;text-decoration:underline}.acc-picker{width:min(460px,94vw)}.acc-picker-list{max-height:60vh;overflow-y:auto;margin:8px -4px 0}.acc-pick-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;background:transparent;color:var(--foreground);font:inherit;font-size:13px;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.acc-pick-row:hover:not(:disabled){background:var(--accent)}.acc-pick-row.on{color:var(--muted-foreground);cursor:default}.acc-pick-cta{flex:0 0 auto;font-size:12px;color:var(--muted-foreground)}.measure-edit-modal{width:min(380px,92vw)}.edit-grid{display:flex;gap:10px;margin:12px 0 8px}.edit-grid label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted-foreground)}.edit-grid input{background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 8px;font:inherit;font-size:14px}.edit-area{font-size:13px;color:var(--muted-foreground)}.meas-line-tag{font-size:10px;color:var(--muted-foreground);font-weight:600;text-transform:uppercase}.measure-height-modal{width:min(520px,92vw)}.linedim-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 10px}.linedim-lead{font-size:13px;color:var(--muted-foreground)}.linedim-measured{font-size:12.5px;font-weight:600;color:var(--foreground);border:1px solid var(--border);border-radius:999px;padding:2px 9px;white-space:nowrap}.linedim-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--secondary)}.linedim-side{border:none;background:transparent;cursor:pointer;font:inherit;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:600;color:var(--muted-foreground);transition:background .12s ease,color .12s ease}.linedim-side.on{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-1)}.linedim-actions{display:flex;align-items:center;gap:8px}.ldp-fields{display:flex;align-items:flex-end;gap:10px;margin:6px 0 12px}.ldp-times{padding-bottom:16px;color:var(--muted-foreground);font-size:15px}.ldp-field{display:flex;flex-direction:column;gap:4px;flex:1 1 0;min-width:0}.ldp-field-head{display:flex;align-items:baseline;gap:6px;font-size:12px;font-weight:600;color:var(--foreground)}.ldp-field-src{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px 7px}.ldp-measured .ldp-field-src{color:#15803d;background:color-mix(in srgb,#16a34a 14%,transparent)}.ldp-suggested .ldp-field-src{color:#b45309;background:color-mix(in srgb,#d97706 16%,transparent)}.ldp-field-in{display:flex;align-items:center;gap:5px}.ldp-field-in input{width:100%;min-width:0;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 8px;font:inherit}.ldp-measured .ldp-field-in input{border-color:color-mix(in srgb,#16a34a 55%,var(--border))}.ldp-suggested .ldp-field-in input{border-color:color-mix(in srgb,#d97706 55%,var(--border))}.ldp-unit{color:var(--muted-foreground);font-size:13px}.ldp-note{color:var(--muted-foreground);font-size:12.5px;line-height:1.5;margin:4px 0 0}.height-suggest{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.height-input-row{display:flex;align-items:center;gap:8px}.height-input-row input{width:90px;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 8px;font:inherit}.height-input-row span{color:var(--muted-foreground);font-size:13px}.bar-products{display:flex;flex-direction:column;gap:6px;margin-top:12px}.bar-product-btn{justify-content:flex-start;text-align:left}.bar-nonstd{margin:8px 0 0;color:var(--muted-foreground);font-size:12px;line-height:1.4}.fx-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--secondary);cursor:pointer;font:inherit}.fx-side{border:none;background:transparent;cursor:pointer;font:inherit;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--muted-foreground);transition:background .12s ease,color .12s ease}.fx-side.on.mirror{background:#2563eb;color:#fff}.fx-side.on.shower{background:#16a34a;color:#fff}.fx-side.on.bar{background:#dc2626;color:#fff}.fx-side.on.quick{background:#64748b;color:#fff}.sb-cards{padding:10px;display:flex;flex-direction:column;gap:10px;min-height:0}.type-card{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--card);overflow:hidden;flex:0 0 auto;transition:box-shadow .16s ease,border-color .16s ease,background-color .16s ease,transform .16s ease}.type-card-owner{background:color-mix(in oklab,var(--tc-accent) 9%,var(--card));box-shadow:0 0 0 1.5px color-mix(in srgb,var(--tc-accent) 65%,var(--foreground)),0 5px 16px color-mix(in srgb,var(--tc-accent) 32%,transparent);position:relative;z-index:2}@media(prefers-reduced-motion:no-preference){.type-card-owner{transform:scale(1.02)}}.type-card-head{display:flex;align-items:center;gap:7px;padding:6px 9px 3px}.type-card-dot{width:9px;height:9px;border-radius:3px;flex:0 0 auto}.type-card-title{font-size:12.5px;font-weight:700;color:var(--foreground);white-space:nowrap}.type-card-title-scroll{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:thin;padding-bottom:1px}.type-card-count{color:var(--muted-foreground);font-weight:600;font-variant-numeric:tabular-nums}.type-add-btn{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:6px;background:transparent;font-size:11px;line-height:1;cursor:pointer;opacity:.75}.type-add-btn:hover{opacity:1;background:color-mix(in srgb,currentColor 8%,transparent)}.area-chips-row{display:flex;align-items:center;gap:4px;padding:0 9px 6px;overflow-x:auto;scrollbar-width:thin;font-size:10.5px;font-weight:600}.area-chips-count{flex:0 0 auto;white-space:nowrap;margin-right:3px;opacity:.85}.area-chip2{flex:0 0 auto;display:inline-flex;align-items:stretch;border:1px dashed currentColor;border-radius:7px;overflow:hidden}.area-chip2-go{border:none;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;padding:3px 8px;cursor:pointer;white-space:nowrap}.sb-jump{flex:none;border:1px solid currentColor;border-radius:999px;background:transparent;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;padding:1px 7px;cursor:pointer;line-height:1.5;white-space:nowrap}.sb-jump:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.canvas-toast .toast-action{margin-left:9px;border:1px solid color-mix(in srgb,currentColor 55%,transparent);border-radius:6px;background:transparent;color:inherit;font:inherit;font-weight:650;padding:2px 9px;cursor:pointer}.canvas-toast .toast-action:hover,.area-chip2-go:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.area-chip2-x{border:none;border-left:1px dashed currentColor;background:transparent;color:inherit;font-size:9.5px;padding:3px 7px;cursor:pointer;opacity:.7}.area-chip2-x:hover{opacity:1;color:#dc2626;background:color-mix(in srgb,#dc2626 12%,transparent)}.type-card-rows{display:flex;flex-direction:column}.type-card-hint{padding:4px 10px 8px;font-size:11px;color:var(--muted-foreground);line-height:1.45}.type-sec-head{padding:5px 9px 3px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.mrow{display:flex;align-items:center;gap:4px;padding:6px 8px;min-height:32px;border-top:1px solid var(--border);font-size:11.5px;cursor:pointer;min-width:0;flex:0 0 auto}.mrow.active{box-shadow:inset 2px 0 0 var(--primary)}.mrow-sel{min-width:0;background:color-mix(in oklab,var(--card) 65%,transparent);color:var(--foreground);border:1px solid color-mix(in oklab,var(--border) 70%,transparent);border-radius:var(--radius-sm);padding:2px;font:inherit;font-size:11.5px}.mrow-type{flex:0 1 auto;width:88px}.mrow-obj{flex:0 0 auto;width:46px}.mrow-dims{display:inline-flex;align-items:center;gap:1px;flex:0 0 auto}.mrow-in{width:32px;background:color-mix(in oklab,var(--card) 65%,transparent);color:var(--foreground);border:1px solid color-mix(in oklab,var(--border) 70%,transparent);border-radius:var(--radius-sm);padding:2px 3px;font:inherit;font-size:11.5px;font-variant-numeric:tabular-nums;text-align:right}.mrow-sel:focus,.mrow-in:focus{outline:2px solid var(--ring);outline-offset:-1px;background:var(--card)}.mrow-x{color:var(--muted-foreground);font-size:10.5px}.mrow-qty{display:inline-flex;align-items:center;gap:1px;font-weight:700;font-variant-numeric:tabular-nums;flex:0 0 auto}.mrow-qty-in{width:36px;font-weight:700}.mrow-hidden{opacity:.55}.mrow-hid{color:var(--muted-foreground);font-size:12px;line-height:1;flex:0 0 auto}.mrow-repeat .mrow-dims,.mrow-repeat .mrow-obj{opacity:.55}.mrow-rep{flex:0 0 auto;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:1px 5px;line-height:1.4;white-space:nowrap}.mrow-bar{margin-left:16px;border-left:2px solid rgba(220,38,38,.35)}.mrow-pending{box-shadow:inset 0 0 0 1.5px #d97706;border-radius:var(--radius-sm)}.mrow-in-pending{border-color:#d97706!important;background:color-mix(in srgb,#d97706 10%,transparent)!important}.mrow-pend{flex:0 0 auto;font-size:9.5px;line-height:1.4;font-weight:700;color:#b45309;background:color-mix(in srgb,#d97706 16%,var(--card));border:1px solid #d97706;border-radius:999px;padding:0 6px;white-space:nowrap;cursor:pointer}.mrow-pend:hover{background:color-mix(in srgb,#d97706 28%,var(--card))}.mrow-pair{flex:0 0 auto;font-size:9.5px;line-height:1.4;font-weight:700;color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:0 5px;white-space:nowrap;cursor:pointer}.mrow-pair:hover{border-color:var(--foreground)}.mrow-shared{flex:0 0 auto;font-size:9.5px;line-height:1.4;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:999px;padding:0 5px;white-space:nowrap}.sb-scope-note{color:var(--muted-foreground);font-size:11.5px}.mrow-page{flex:0 0 auto;font-size:9.5px;line-height:1.4;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:0 5px;white-space:nowrap}.type-card-head,.type-card-acc .acc-row,.mrow{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.type-card-head:hover,.type-card-acc .acc-row:hover,.mrow:hover{box-shadow:inset 0 0 0 999px color-mix(in oklab,var(--foreground) 5%,transparent)}.mrow.active:hover{box-shadow:inset 2px 0 0 var(--primary),inset 0 0 0 999px color-mix(in oklab,var(--foreground) 5%,transparent)}@media(prefers-reduced-motion:no-preference){.type-card-head:hover,.type-card-acc .acc-row:hover,.mrow:hover{position:relative;z-index:1;transform:scale(1.015)}}.type-card-acc{border-top:2px solid var(--border);padding-bottom:5px;flex:0 0 auto}.type-acc-head{display:flex;align-items:center;justify-content:space-between}.acc-row-sm{padding:2px 9px}.acc-row-sm .acc-name{font-size:11.5px}.acc-qty-sm{width:34px;flex:0 0 auto}.acc-row-parent .acc-name{font-weight:600}.unit-area-modal{width:min(400px,92vw)}.unit-area-select{display:block;width:100%;margin-top:10px;padding:7px 8px;font-size:14px}.att-rows{display:flex;flex-direction:column;gap:7px;margin-top:12px}.att-row{display:flex;align-items:center;gap:8px}.att-dot{width:9px;height:9px;border-radius:3px;flex:0 0 auto}.att-dot-ghost{background:transparent;border:1px dashed var(--border)}.att-row .att-sel{flex:1 1 auto;min-width:0;width:auto;margin-bottom:0;padding:6px 8px;font-size:13px}.att-row .att-add{color:var(--muted-foreground)}.att-partial{flex:0 0 auto;font-size:10.5px;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:999px;padding:1px 6px;white-space:nowrap}.att-x{flex:0 0 auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--muted-foreground);font-size:11px;line-height:1;cursor:pointer}.att-x:hover:not(:disabled){color:#dc2626;border-color:#dc2626;background:color-mix(in srgb,#dc2626 10%,transparent)}.att-x:disabled{opacity:.35;cursor:not-allowed}.att-x-spacer{flex:0 0 auto;width:26px}.att-hint{margin:10px 0 0;font-size:12px;color:var(--muted-foreground);line-height:1.45}.att-delete{margin-right:auto;color:#dc2626}.closet-srows{display:flex;flex-direction:column;gap:2px;margin:4px 0 6px}.closet-srow{display:flex;align-items:baseline;gap:8px;padding:4px 8px;border-radius:7px;border:1px solid color-mix(in srgb,#7c3aed 35%,transparent);background:color-mix(in srgb,#7c3aed 6%,transparent);font-size:12px;cursor:pointer}.closet-srow:hover{background:color-mix(in srgb,#7c3aed 12%,transparent)}.closet-srow-name{font-weight:650;color:color-mix(in srgb,#7c3aed 80%,var(--foreground));white-space:nowrap}.closet-srow-meta{color:var(--muted-foreground);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.closet-srow-price{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.quick-srow{border-color:color-mix(in srgb,#64748b 40%,transparent);background:color-mix(in srgb,#64748b 7%,transparent);cursor:default}.quick-srow .closet-srow-name{color:var(--foreground)}.quick-lbl{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:999px;padding:1px 8px;font-size:11px;cursor:pointer;margin-right:4px}.quick-lbl:hover{border-color:var(--primary)}.quick-x{border:none;background:none;color:var(--muted-foreground);cursor:pointer;font-size:12px;padding:0 2px}.quick-x:hover{color:var(--destructive)}.fsel-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);font:inherit;text-align:left;cursor:pointer;outline:none;overflow:hidden}.fsel-trigger:focus-visible{border-color:var(--primary, #16a34a)}.fsel-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsel-caret{flex:none;font-size:9px;line-height:1;color:var(--muted-foreground)}.fsel-pop{position:fixed;z-index:80;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:4px}.fsel-item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;color:var(--foreground);font:inherit;font-size:12.5px;text-align:left;padding:4px 6px;border-radius:var(--radius-md);cursor:pointer}.fsel-item.hi{background:var(--accent)}.fsel-item.on .fsel-name{font-weight:700}.fsel-thumb{flex:none;width:44px;height:36px;border-radius:3px;overflow:hidden;background:#fff;border:1px solid var(--border)}.fsel-photo{width:100%;height:100%}.fsel-thumb-none{display:block;width:100%;height:100%;background:repeating-linear-gradient(-45deg,var(--muted) 0 6px,transparent 6px 12px)}.fsel-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsel-item.empty .fsel-name{color:var(--muted-foreground);font-style:italic}.fsel-tick{flex:none;color:var(--primary, #16a34a);font-size:11px}.ap-body{flex:1;min-height:0;padding:14px 18px 18px;display:flex;flex-direction:column;gap:12px;width:100%}.ap-grid-fill{flex:1;min-height:0;display:flex;flex-direction:column}.ap-grid-fill>*{flex:1;min-height:0}.state-sel{position:relative}.state-sel-btn{background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.state-sel-btn.empty{color:var(--destructive);border-color:var(--destructive)}.state-sel-caret{color:var(--muted-foreground);font-size:10px}.state-sel-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:40;width:240px;background:var(--popover, var(--card));border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:6px}.state-sel-search{width:100%;box-sizing:border-box;background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font:inherit;font-size:13px;margin-bottom:6px}.state-sel-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column}.state-sel-item{border:none;background:transparent;color:var(--foreground);text-align:left;font:inherit;font-size:13px;padding:5px 8px;border-radius:var(--radius-sm);cursor:pointer}.state-sel-item:hover{background:var(--accent)}.state-sel-item.on{background:color-mix(in oklab,var(--primary) 12%,var(--card))}.state-sel-item b{display:inline-block;width:26px}.state-sel-none{padding:8px;color:var(--muted-foreground);font-size:12.5px}.ap-summary{font-size:13.5px;color:var(--muted-foreground)}.ap-summary b{color:var(--foreground)}.ap-issues{margin-top:8px;font-size:12.5px;color:var(--destructive);display:flex;flex-direction:column;gap:3px;text-align:left}.ap-hint{font-size:12px;color:var(--muted-foreground)}.save-ok-ap{color:var(--ok, #16a34a);font-size:12.5px}.save-err-ap{color:var(--destructive);font-size:12.5px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptab-scroll{width:100%;height:100%;overflow-y:auto;padding:16px 18px 32px;display:flex;flex-direction:column;gap:14px}.ptab-fill{width:100%;height:100%;min-height:0;display:flex;flex-direction:column}.ptab-fill .ptab-savebar{padding:12px 18px 10px}.ptab-grid{flex:1;min-height:0;padding:0 18px 18px}.ptab-savebar{display:flex;align-items:center;justify-content:flex-end;gap:10px}.ptab-scroll>.ptab-savebar{width:100%;max-width:1060px;margin:0 auto}.ptab-savenote{margin-right:auto;font-size:12px;color:var(--muted-foreground)}.ap-step-scroll{overflow-y:auto}.ap-step-foot{display:flex;justify-content:flex-end;padding:4px 0 24px}.ap-summary-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.ap-settings2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;width:100%;max-width:1060px;margin:0 auto}.ap-col{min-width:0;display:flex;flex-direction:column;gap:16px}@media(max-width:940px){.ap-settings2{grid-template-columns:1fr}}.avt-card{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 30px #1816120d;overflow:hidden}.avt-card.wide{grid-column:1 / -1}.avt-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--card),color-mix(in oklab,var(--background) 45%,var(--card)))}.avt-card-title{display:flex;align-items:center;gap:10px;margin:0;font-size:12.5px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--foreground)}.avt-card-bar{width:4px;height:17px;border-radius:999px;background:var(--foreground)}.avt-card-bar.teal{background:#24b8b0}.avt-card-bar.orange{background:#ff9c3a}.avt-card-note{color:var(--muted-foreground);font-size:12.5px;white-space:nowrap}.avt-card-body{padding:4px 18px 10px}.avt-card-flush{padding:0;overflow-x:auto}.ap-chip-row{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 4px}.ap-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:color-mix(in oklab,var(--secondary) 55%,var(--card));border:1px solid var(--border);color:var(--muted-foreground);font-size:12px;font-weight:650;text-decoration:none;cursor:pointer}.ap-chip:hover{color:var(--foreground)}.ap-chip.teal{background:#24b8b01f;border-color:#24b8b059;color:#0b6864;cursor:default}:root.dark .ap-chip.teal,.dark .ap-chip.teal{color:#6fe3dc}.ap-notice{max-width:1100px}.ap-notice-toggle{border:none;background:transparent;color:var(--muted-foreground);font:inherit;font-size:12.5px;cursor:pointer;padding:2px 0;text-align:left}.ap-notice-toggle:hover{color:var(--foreground)}.ap-notice-i{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--border);font-size:10px;font-style:italic;font-weight:700;margin-right:4px;vertical-align:-2px}.ap-notice-list{margin:6px 0 0;padding-left:26px;font-size:12px;color:var(--muted-foreground);line-height:1.7}.ap-tax-note{font-size:12px;color:var(--muted-foreground);line-height:1.5;border-top:1px dashed var(--border);padding-top:8px}.ap-place-wrap{display:inline-flex;align-items:center;gap:8px}.ap-in.ap-place{width:148px;min-width:0}.ap-tax-err{color:var(--destructive);font-size:12px;padding:6px 0 2px}.ap-tax-meta{font-size:12.5px;color:var(--foreground);display:flex;flex-direction:column;gap:2px}.ap-tax-breakdown{font-size:12px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.ap-tax-verify{font-size:12px;color:var(--muted-foreground)}.ap-tax-verify a{color:var(--primary);text-decoration:none}.ap-tax-verify a:hover{text-decoration:underline}.ap-settings{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:12px 14px}.ap-set-head{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-foreground);margin-bottom:10px}.ap-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 18px}.ap-set-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;justify-content:space-between;gap:14px;font-size:13.5px;padding:11px 0;border-bottom:1px solid color-mix(in oklab,var(--border) 60%,transparent)}.ap-set-row:last-child{border-bottom:none}.ap-set-label{color:var(--muted-foreground)}.ap-in{background:color-mix(in oklab,var(--secondary) 45%,var(--card));color:var(--foreground);border:1px solid var(--border);border-radius:10px;min-height:34px;padding:4px 12px;font:inherit;font-size:13px;font-variant-numeric:tabular-nums}.ap-in:focus{outline:none;border-color:var(--foreground);background:var(--card)}select.ap-in{cursor:pointer;min-width:170px}.ap-in.num{width:96px;text-align:right}.ap-pct-wrap{display:inline-flex;align-items:center;gap:5px}.ap-pct{color:var(--muted-foreground);font-size:13px}.ap-adders2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;padding:6px 18px 12px}@media(max-width:940px){.ap-adders2{grid-template-columns:1fr}}.ap-adder-row{min-width:0;display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;border-bottom:1px solid color-mix(in oklab,var(--border) 60%,transparent)}.ap-adder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--foreground)}.ap-adder-dd{flex:0 0 auto;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:2px 7px}.ap-adders2 .ap-in.num{width:84px}.ap-prices-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.ap-prices{border-collapse:collapse;font-size:12.5px;width:100%}.ap-prices th,.ap-prices td{border-bottom:1px solid var(--border);padding:5px 9px;text-align:left;white-space:nowrap}.ap-prices thead th{position:sticky;top:0;background:var(--secondary);z-index:1}.ap-prices td.num,.ap-prices th.num{text-align:right;font-variant-numeric:tabular-nums}.ap-cat td{background:color-mix(in oklab,var(--primary) 10%,var(--secondary));font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.ap-prod{font-weight:500}.ap-sub{color:var(--muted-foreground);font-weight:400}.ap-desc{max-width:340px;overflow:hidden;text-overflow:ellipsis;color:var(--muted-foreground)}.admin-error{margin-bottom:18px}.admin-pending-note{font-size:13px;color:var(--muted-foreground);margin-bottom:12px}.admin-table{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);overflow:hidden}.admin-row{display:grid;grid-template-columns:minmax(220px,1.6fr) 110px 110px minmax(260px,1fr);gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13.5px}.admin-row:last-child{border-bottom:none}.admin-row.busy{opacity:.55;pointer-events:none}.admin-head{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);background:var(--secondary)}.admin-user{display:flex;align-items:center;gap:10px;min-width:0}.admin-user-name{font-weight:600;display:flex;align-items:center;gap:8px}.admin-self-tag{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--secondary);border:1px solid var(--border);color:var(--muted-foreground);border-radius:999px;padding:1px 7px}.admin-user-email{color:var(--muted-foreground);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-status{display:inline-block;font-size:11.5px;font-weight:600;text-transform:capitalize;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted-foreground)}.admin-status.approved{color:#05893e;border-color:color-mix(in oklab,oklch(.55 .15 150) 40%,transparent);background:color-mix(in oklab,oklch(.55 .15 150) 9%,transparent)}.admin-status.pending{color:#b17000;border-color:color-mix(in oklab,oklch(.6 .13 70) 40%,transparent);background:color-mix(in oklab,oklch(.6 .13 70) 10%,transparent)}.admin-requested-at{margin-top:4px;font-size:11.5px;line-height:1.35;color:var(--muted-foreground)}.admin-status.blocked{color:var(--destructive);border-color:color-mix(in oklab,var(--destructive) 40%,transparent);background:color-mix(in oklab,var(--destructive) 9%,transparent)}.admin-role-select{background:var(--background);border:1px solid var(--input);border-radius:var(--radius-md);color:var(--foreground);padding:6px 8px;font-size:13px}.admin-actions-col{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.admin-danger{color:var(--destructive)}@media(max-width:760px){.admin-row{grid-template-columns:1fr;gap:8px}.admin-head{display:none}.admin-actions-col{justify-content:flex-start}}.hub-card{align-items:center;justify-content:center;text-align:center;min-height:168px;gap:10px}.hub-card-icon{width:58px;height:58px;border-radius:var(--radius-lg);background:var(--secondary);color:var(--foreground);display:flex;align-items:center;justify-content:center;font-size:28px}.hub-card-title{font-size:14.5px;font-weight:650;color:var(--foreground)}.hub-card-sub{font-size:12px;color:var(--muted-foreground);line-height:1.4;max-width:220px}.est-pending{border:1px solid var(--ring);border-radius:var(--radius-lg);background:var(--card);padding:14px 16px;margin-bottom:16px}.est-pending-head{display:flex;align-items:center;gap:10px;font-size:14px}.est-pending-name{font-weight:650}.est-pending-meta{color:var(--muted-foreground);font-size:12.5px}.est-pending-issues{margin-top:8px;font-size:12px;color:var(--muted-foreground)}.est-pending-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:12px}.est-pending-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted-foreground)}.est-pending-row input{background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-md);padding:7px 10px;font:inherit;font-size:13.5px;width:180px}.est-pending-actions{display:flex;gap:8px}.admin-row.est-row{grid-template-columns:170px minmax(220px,1.6fr) 110px minmax(240px,1fr)}.est-row.est-active{background:color-mix(in oklab,var(--primary) 5%,transparent)}.est-version{font-weight:650;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.est-active-badge{text-transform:none}.est-file-name{font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.est-file-meta{font-size:12px;color:var(--muted-foreground)}.closet-versions{margin-bottom:18px}.admin-row.closet-row{grid-template-columns:200px minmax(220px,1.6fr) 110px minmax(280px,1fr)}.closet-click{cursor:pointer}.closet-click:hover{background:var(--secondary)}.closet-row.closet-sel{box-shadow:inset 3px 0 0 var(--primary)}.closet-row.est-active.closet-sel,.closet-row.est-active:hover{background:color-mix(in oklab,var(--primary) 8%,transparent)}.closet-cat-wrap{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);overflow:hidden}.closet-cat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--secondary)}.closet-cat-title{font-size:13.5px;font-weight:650}.closet-cat-meta{font-weight:400;font-size:12.5px;color:var(--muted-foreground)}.closet-cat-actions{display:flex;align-items:center;gap:8px}.closet-saved{font-size:12.5px;color:#05893e}.closet-params{display:flex;align-items:flex-start;gap:26px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--background)}.closet-param{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px;row-gap:3px;font-size:12.5px}.closet-param-name{font-weight:600;color:var(--foreground)}.closet-param-input{width:76px}.closet-param-hint{grid-column:1 / -1;font-size:11.5px;color:var(--muted-foreground);max-width:340px;line-height:1.4}.closet-param-warn{flex-basis:100%;font-size:12.5px;color:var(--destructive)}.closet-param-note{flex-basis:100%;font-size:11.5px;color:var(--muted-foreground);line-height:1.45}.closet-cat-scroll{overflow-x:auto}.closet-cat{width:100%;border-collapse:collapse;font-size:13px}.closet-cat th{text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);padding:8px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.closet-cat td{padding:6px 14px;border-bottom:1px solid var(--border)}.closet-cat tr:last-child td{border-bottom:none}.closet-fam-row td{background:var(--background);font-weight:650;font-size:12.5px;padding:8px 14px}.closet-fam-meta{font-weight:400;font-size:12px;color:var(--muted-foreground)}.closet-sku-col{font-weight:550;white-space:nowrap}.closet-cat th.closet-num{text-align:right}td.closet-num,div.closet-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.closet-money{width:92px;text-align:right;font-variant-numeric:tabular-nums;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-md);padding:4px 8px;font:inherit;font-size:13px}.closet-money:focus{outline:2px solid var(--ring, var(--primary));outline-offset:-1px}@media(max-width:760px){.admin-row.closet-row{grid-template-columns:1fr}}.storage-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}.storage-total{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);padding:14px 16px}.storage-total-value{font-size:22px;font-weight:650;letter-spacing:-.01em}.storage-total-label{font-size:12px;color:var(--muted-foreground);margin-top:2px}.storage-orphans{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--secondary);padding:12px 16px;margin-bottom:18px;font-size:13px;color:var(--muted-foreground)}.admin-row.storage-row{grid-template-columns:minmax(220px,1.8fr) 90px 140px 28px}.admin-row.storage-row.clickable{cursor:pointer}.admin-row.storage-row.clickable:hover{background:var(--secondary)}.storage-num{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.admin-head .storage-num{font-weight:600}.storage-chevron{display:flex;justify-content:flex-end;color:var(--muted-foreground)}@media(max-width:720px){.admin-row.storage-row{grid-template-columns:1fr 60px 100px 20px}}.ai-card{--ai-fast: #2a78d6;--ai-heavy: #eb6834;--ai-grid: #e1e0d9;--ai-warning: #fab219;--ai-critical: #d03b3b;--ai-good: #0ca30c;padding:18px 20px;margin-bottom:16px}.dark .ai-card{--ai-fast: #3987e5;--ai-heavy: #d95926;--ai-grid: #2c2c2a}.ai-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.ai-card-title{font-weight:650;font-size:15px;color:var(--foreground)}.ai-card-sub{margin-top:3px;font-size:12.5px;line-height:1.5;color:var(--muted-foreground);max-width:68ch}.ai-sub-head{margin:22px 0 8px}.ai-live{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted-foreground);white-space:nowrap}.ai-live-dot{width:7px;height:7px;border-radius:50%;background:var(--ai-good);flex:none}.ai-tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.ai-tier{border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--background)}.ai-tier-title{font-weight:650;font-size:13.5px}.ai-tier-blurb{margin:3px 0 12px;font-size:12px;line-height:1.5;color:var(--muted-foreground)}.ai-field{margin-bottom:12px}.ai-label{display:flex;align-items:baseline;gap:7px;font-size:12px;font-weight:600;margin-bottom:5px;color:var(--foreground)}.ai-label-hint{font-weight:400;font-size:11.5px;color:var(--muted-foreground)}.ai-input,.ai-select{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--foreground);font-size:13px;font-family:inherit}.ai-input:focus,.ai-select:focus{outline:2px solid var(--ring, var(--primary));outline-offset:-1px}.ai-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ai-field-row{display:flex;gap:8px}.ai-test-btn{flex:none;min-width:66px;justify-content:center}.ai-spin{animation:ai-spin .9s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-test-result{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;line-height:1.45}.ai-test-result svg{flex:none;width:14px;height:14px}.ai-test-result.ok{color:var(--ai-good)}.ai-test-result.bad{color:var(--ai-critical)}.ai-gate-rule{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.ai-radio-list{display:grid;gap:8px;margin-top:8px}.ai-radio{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:9px;cursor:pointer}.ai-radio.on{border-color:var(--ai-fast);background:color-mix(in srgb,var(--ai-fast) 7%,transparent)}.ai-radio input{margin-top:2px;flex:none}.ai-radio b{display:block;font-size:13px;font-weight:600}.ai-radio em{display:block;margin-top:2px;font-style:normal;font-size:12px;color:var(--muted-foreground)}.ai-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px}.ai-saved{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ai-good);margin-right:auto}.ai-warn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ai-critical)}.ai-saved svg,.ai-warn svg{width:14px;height:14px;flex:none}.ai-confirm{margin-top:14px;padding:14px;border:1px solid var(--ai-fast);border-radius:10px;background:color-mix(in srgb,var(--ai-fast) 6%,transparent)}.ai-confirm-title{font-weight:650;font-size:13.5px;margin-bottom:8px}.ai-diff{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}.ai-diff li{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:12.5px}.ai-diff-field{min-width:120px;font-weight:600;color:var(--muted-foreground);text-transform:capitalize}.ai-diff-arrow{color:var(--muted-foreground)}.ai-diff-to{font-weight:650}.ai-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.ai-key-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--background)}.ai-key-mask{display:flex;align-items:center;gap:9px;font-size:13px;letter-spacing:.5px}.ai-key-mask svg{width:15px;height:15px;color:var(--muted-foreground)}.ai-key-src{font-size:11.5px;color:var(--muted-foreground);margin-right:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ai-key-form{margin-top:12px;display:grid;gap:10px;max-width:440px}.ai-note{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:9px;font-size:12.5px;line-height:1.55;background:color-mix(in srgb,var(--ai-warning) 12%,transparent);border:1px solid color-mix(in srgb,var(--ai-warning) 34%,transparent);color:var(--foreground)}.ai-note-plain{background:var(--background);border-color:var(--border);color:var(--muted-foreground)}.ai-note svg{flex:none;width:15px;height:15px;margin-top:1px}.ai-ext{margin-top:12px;display:inline-flex;align-items:center;gap:7px;text-decoration:none}.ai-gate{display:flex;justify-content:center;padding:40px 0}.ai-gate-card{width:100%;max-width:400px;padding:26px;display:grid;gap:11px;text-align:center}.ai-gate-icon{display:flex;justify-content:center;color:var(--muted-foreground)}.ai-gate-icon svg{width:26px;height:26px}.ai-gate-title{font-weight:650;font-size:16px}.ai-gate-sub{font-size:12.5px;line-height:1.55;color:var(--muted-foreground);margin-bottom:4px}.ai-gate-error{font-size:12.5px;color:var(--ai-critical)}.ai-gate-btn{justify-content:center}.ai-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.ai-stat{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--background)}.ai-stat-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted-foreground)}.ai-stat-value{margin-top:5px;font-size:24px;font-weight:650;line-height:1.1;color:var(--foreground)}.ai-stat-sub{margin-top:4px;font-size:11.5px;color:var(--muted-foreground)}.ai-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ai-filters .ai-select{width:auto;min-width:170px}.ai-full{width:100%}.ai-segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.ai-segmented button{padding:6px 12px;font-size:12.5px;background:var(--card);color:var(--muted-foreground);border:0;border-right:1px solid var(--border);cursor:pointer;font-family:inherit}.ai-segmented button:last-child{border-right:0}.ai-segmented button.on{background:var(--secondary);color:var(--foreground);font-weight:600}.ai-legend{display:flex;gap:16px;font-size:12px;color:var(--muted-foreground);margin-bottom:8px}.ai-legend span{display:inline-flex;align-items:center;gap:6px}.ai-dot{width:9px;height:9px;border-radius:2px;flex:none}.ai-dot-fast{background:var(--ai-fast)}.ai-dot-heavy{background:var(--ai-heavy)}.ai-chart{position:relative}.ai-chart-plot{position:relative;padding-left:52px}.ai-chart-svg{width:100%;height:100%;display:block;overflow:visible}.ai-grid{stroke:var(--ai-grid);stroke-width:1}.ai-bar-fast{fill:var(--ai-fast)}.ai-bar-heavy{fill:var(--ai-heavy)}.ai-chart-yaxis{position:absolute;left:0;top:0;bottom:0;width:48px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.ai-chart-yaxis span{transform:translateY(-50%)}.ai-chart-yaxis span:first-child{transform:none}.ai-chart-yaxis span:last-child{transform:translateY(50%)}.ai-chart-xaxis{display:flex;margin-left:52px;margin-top:5px;font-size:10.5px;color:var(--muted-foreground)}.ai-chart-xaxis span{text-align:center;overflow:hidden;white-space:nowrap}.ai-tooltip{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:8px;padding:9px 11px;min-width:160px;border-radius:8px;background:var(--card);border:1px solid var(--border);box-shadow:0 6px 22px #00000029;font-size:12px;pointer-events:none;z-index:5}.ai-tt-day{font-weight:650;margin-bottom:5px}.ai-tt-row{display:flex;align-items:center;gap:7px;color:var(--muted-foreground);padding:1px 0}.ai-tt-row b{margin-left:auto;color:var(--foreground);font-variant-numeric:tabular-nums}.ai-tt-total{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.ai-tt-sub{margin-top:3px;font-size:11px;color:var(--muted-foreground)}.ai-headroom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}.ai-headroom-card{border:1px solid var(--border);border-radius:10px;padding:13px;background:var(--background)}.ai-headroom-model{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:600;margin-bottom:11px;word-break:break-all}.ai-headroom{margin-bottom:11px}.ai-headroom:last-child{margin-bottom:0}.ai-headroom-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;margin-bottom:5px}.ai-headroom-label{color:var(--muted-foreground)}.ai-headroom-val{font-variant-numeric:tabular-nums;font-weight:600}.ai-muted{color:var(--muted-foreground);font-weight:400}.ai-headroom-track{height:7px;border-radius:999px;background:var(--secondary);overflow:hidden}.ai-headroom-fill{height:100%;border-radius:999px}.ai-headroom-ok{background:var(--ai-fast)}.ai-headroom-warning{background:var(--ai-warning)}.ai-headroom-critical{background:var(--ai-critical)}.ai-headroom-foot{margin-top:4px;font-size:11px;color:var(--muted-foreground)}.ai-badge{display:inline-flex;align-items:center;gap:4px;margin-left:7px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:600}.ai-badge svg{width:11px;height:11px}.ai-badge-warning{background:color-mix(in srgb,var(--ai-warning) 20%,transparent);color:#92400e}.dark .ai-badge-warning{color:var(--ai-warning)}.ai-badge-critical{background:color-mix(in srgb,var(--ai-critical) 18%,transparent);color:var(--ai-critical)}.ai-table-wrap{overflow-x:auto}.ai-log{max-height:460px;overflow-y:auto}.ai-table{width:100%;border-collapse:collapse;font-size:12.5px}.ai-table th{text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.35px;color:var(--muted-foreground);padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;background:var(--card);z-index:1}.ai-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.ai-table .num{text-align:right;font-variant-numeric:tabular-nums}.ai-row-total td{font-weight:650;background:var(--background)}.ai-row-click{cursor:pointer}.ai-row-click:hover td{background:var(--secondary)}.ai-row-bad td{color:var(--ai-critical)}.ai-row-detail td{background:var(--background);padding:0 10px 10px}.ai-subtable{width:100%;border-collapse:collapse;font-size:12px}.ai-subtable th{font-size:11px;padding:6px 8px;position:static;background:transparent}.ai-subtable td{padding:5px 8px;border-bottom:0}.ai-user{font-weight:550}.ai-user-sub{font-size:11px;color:var(--muted-foreground);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ai-nowrap{white-space:nowrap}.ai-share{display:flex;align-items:center;gap:7px;justify-content:flex-end}.ai-share-bar{width:52px;height:5px;border-radius:999px;background:var(--secondary);overflow:hidden;flex:none}.ai-share-bar i{display:block;height:100%;background:var(--ai-fast)}.ai-pill,.ai-conf,.ai-kind{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.ai-pill-fast{background:color-mix(in srgb,var(--ai-fast) 16%,transparent);color:var(--ai-fast)}.ai-pill-heavy{background:color-mix(in srgb,var(--ai-heavy) 18%,transparent);color:var(--ai-heavy)}.ai-conf-high{background:color-mix(in srgb,var(--ai-good) 15%,transparent);color:var(--ai-good)}.ai-conf-medium{background:color-mix(in srgb,var(--ai-warning) 20%,transparent);color:#92400e}.dark .ai-conf-medium{color:var(--ai-warning)}.ai-conf-low{background:color-mix(in srgb,var(--ai-critical) 16%,transparent);color:var(--ai-critical)}.ai-kind{background:var(--secondary);color:var(--muted-foreground)}.ai-audit-summary{line-height:1.5}.ai-empty,.ai-empty-sm{padding:26px;text-align:center;color:var(--muted-foreground);font-size:13px}.ai-empty-sm{padding:14px;font-size:12.5px}@media(max-width:720px){.ai-tier-grid{grid-template-columns:1fr}.ai-card-head{flex-direction:column}}.ai-env-prod{background:color-mix(in srgb,var(--ai-good) 14%,transparent);color:var(--ai-good)}.ai-env-dev{background:color-mix(in srgb,var(--ai-warning) 22%,transparent);color:#92400e}.dark .ai-env-dev{color:var(--ai-warning)}.ai-seg-count{display:inline-block;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--secondary);font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.ai-segmented button.on .ai-seg-count{background:var(--card);color:var(--foreground)}.closet-photo-col{width:168px;text-align:center;vertical-align:middle;padding:8px 10px}.closet-photo-col .closet-fam-img{width:140px;height:128px;background:#fff;border:1px solid var(--border);border-radius:8px;display:block;margin:0 auto 6px;padding:4px}.closet-photo-none{display:block;color:var(--muted-foreground);font-size:10.5px;line-height:1.4;text-align:left;margin:0 auto 6px;padding:8px;border:1px dashed var(--border);border-radius:8px;background:var(--secondary);min-height:96px}.closet-photo-none.unsupported{border-color:color-mix(in oklab,#d97706 50%,transparent);background:color-mix(in oklab,#d97706 8%,transparent);color:var(--foreground)}.closet-photo-btn{border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);border-radius:999px;padding:2px 10px;font-size:10.5px;cursor:pointer}.closet-photo-btn.wanted{border-color:var(--primary);color:var(--foreground);font-weight:600}.closet-photo-btn:hover{color:var(--foreground);border-color:var(--foreground)}.mnt-status{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-bottom:18px}.mnt-status.on{border-color:color-mix(in oklab,var(--destructive) 45%,transparent);background:color-mix(in oklab,var(--destructive) 8%,var(--card))}.mnt-dot{flex:none;width:10px;height:10px;margin-top:5px;border-radius:999px;background:#1d9a4c}.mnt-status.on .mnt-dot{background:var(--destructive)}.mnt-status-sub{margin-top:3px;color:var(--muted-foreground);font-size:13px;line-height:1.5}.mnt-gate,.mnt-panel{max-width:620px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.mnt-gate label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;margin-bottom:9px}.mnt-gate-row{display:flex;gap:8px}.mnt-gate-row input{flex:1;min-width:0}.mnt-explain{display:flex;gap:10px;font-size:13px;line-height:1.55;color:var(--muted-foreground);margin-bottom:14px}.mnt-explain svg{flex:none;width:17px;height:17px;margin-top:2px;color:#d97706}.mnt-explain b{color:var(--foreground)}.mnt-flip{width:100%}
