:root{--primary: #007bc7;--primary-hover: #0066a8;--chip-bg: #e9f3fb;--border: #e7e7e7}*{box-sizing:border-box}html,body{margin:0}body{font-family:Gen Interface JP,system-ui,sans-serif;background:#f1f1f1;color:#333;-webkit-font-smoothing:antialiased}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #007bc71f}button{font-family:inherit}::selection{background:#007bc726}.vff-scroll::-webkit-scrollbar{width:10px}.vff-scroll::-webkit-scrollbar-thumb{background:#d4d6da;border-radius:5px;border:3px solid transparent;background-clip:content-box}.btn{border-radius:50px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{background:transparent;color:#333;border:1px solid #333}.btn-outline:hover:not(:disabled){background:#333;color:#fff}.btn-soft{background:transparent;color:#333;border:1px solid #c7c7c7}.btn-soft:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}@keyframes vff-spin{to{transform:rotate(360deg)}}.vff-spinner{display:inline-block;flex:none;box-sizing:border-box;border-style:solid;border-radius:50%;border-color:color-mix(in srgb,var(--spinner-color, var(--primary)) 25%,transparent);border-top-color:var(--spinner-color, var(--primary));animation:vff-spin .7s linear infinite}@keyframes vff-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.vff-skeleton{background-color:#eceef1;background-image:linear-gradient(90deg,#eceef1,#f5f6f8,#eceef1 160px);background-size:600px 100%;background-repeat:no-repeat;animation:vff-shimmer 1.3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.vff-spinner{animation-duration:1.4s}.vff-skeleton{animation:none}}.nav-item{transition:background .15s,color .15s}.nav-item:hover:not(.nav-active){background:#ffffff1a}.dropzone{transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag-over{border-color:var(--primary);background:#f5f8ff}.link-pill{transition:background .15s,color .15s}.link-pill:hover{background:var(--primary);color:#fff!important}.app-sidebar-toggle{display:none}.app-drawer-overlay{position:fixed;inset:0;z-index:20;background:#0000006b;border:none;cursor:pointer;animation:vff-fade-in .15s ease}@keyframes vff-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vff-point-float{0%{opacity:0;transform:translate(-50%,4px) scale(.9)}15%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-26px) scale(1)}}.vff-point-float{animation:vff-point-float 1.6s ease-out forwards}@keyframes vff-point-pop{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}.vff-point-pop{animation:vff-point-pop .5s ease-out}@media(prefers-reduced-motion:reduce){.vff-point-float,.vff-point-pop{animation:none}}@keyframes vff-gami-toast-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.vff-gami-toast{animation:vff-gami-toast-in .28s ease-out}.vff-gami-toast-level{animation:vff-gami-toast-in .28s ease-out,vff-point-pop .5s ease-out .28s}@keyframes vff-estimate-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.vff-estimate-pulse{animation:vff-estimate-pulse 1.6s ease-in-out infinite}.vff-confetti{position:absolute;left:26px;top:6px;width:0;height:0;pointer-events:none}.vff-confetti i{position:absolute;width:7px;height:7px;border-radius:1px;opacity:0;background:hsl(calc(var(--i) * 45),85%,58%);transform:rotate(calc(var(--i) * 45deg));animation:vff-confetti-burst .9s ease-out forwards;animation-delay:.24s}@keyframes vff-confetti-burst{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(calc(cos(var(--i) * 45deg)*34px),calc(sin(var(--i) * 45deg)*34px - 6px)) rotate(180deg) scale(.6)}}@media(prefers-reduced-motion:reduce){.vff-gami-toast,.vff-gami-toast-level,.vff-estimate-pulse{animation:none}.vff-confetti{display:none}}@media(max-width:1024px){.app-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:30;overflow-y:auto;transform:translate(-100%);transition:transform .22s ease;box-shadow:2px 0 20px #00000038}.app-sidebar.open{transform:translate(0)}.app-sidebar-toggle{display:inline-flex}.app-header{padding:16px 20px!important}.app-content{padding:22px 20px 60px!important}.list-card{flex-wrap:wrap}.list-card-actions{flex-basis:100%!important;flex-wrap:wrap}.preview-two-col>*{flex-basis:100%!important}}
