:root,:host{--fa-font-solid: normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-slab-duo-regular: normal 400 1em/1 "Font Awesome 7 Slab Duo";--fa-font-slab-press-duo-regular: normal 400 1em/1 "Font Awesome 7 Slab Press Duo";--fa-font-pixel-regular: normal 400 1em/1 "Font Awesome 7 Pixel";--fa-font-mosaic-solid: normal 900 1em/1 "Font Awesome 7 Mosaic";--fa-font-vellum-solid: normal 900 1em/1 "Font Awesome 7 Vellum";--fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin: normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold: normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold: normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold: normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display, inline-block);height:1em;overflow:visible;vertical-align:-.125em;width:var(--fa-width, 1.25em)}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0em}.svg-inline--fa.fa-sm{vertical-align:-.0714285714em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin, .3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin, .3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width, 2em);inset-inline-start:calc(-1 * var(--fa-li-width, 2em));inset-block-start:.25em}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:var(--fa-width, 1.25em)}.fa-layers .svg-inline--fa{top:0;right:0;bottom:0;left:0;margin:auto;position:absolute;transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color, #ff253a);border-radius:var(--fa-counter-border-radius, 1em);box-sizing:border-box;color:var(--fa-inverse, #fff);line-height:var(--fa-counter-line-height, 1);max-width:var(--fa-counter-max-width, 5em);min-width:var(--fa-counter-min-width, 1.5em);overflow:hidden;padding:var(--fa-counter-padding, .25em .5em);right:var(--fa-right, 0);text-overflow:ellipsis;top:var(--fa-top, 0);transform:scale(var(--fa-counter-scale, .25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom, 0);right:var(--fa-right, 0);top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom, 0);left:var(--fa-left, 0);right:auto;top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top, 0);right:var(--fa-right, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left, 0);right:auto;top:var(--fa-top, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:calc((6 / 10 - .375) * 1em)}.fa-xs{font-size:.75em;line-height:calc(1 / 12 * 1em);vertical-align:.125em}.fa-sm{font-size:.875em;line-height:calc(1 / 14 * 1em);vertical-align:calc((6 / 14 - .375) * 1em)}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:calc((6 / 20 - .375) * 1em)}.fa-xl{font-size:1.5em;line-height:calc(1 / 24 * 1em);vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width: auto}.fa-fw,.fa-width-fixed{--fa-width: 1.25em}.fa-canvas-square{padding-block:.125em;margin-block-end:-.125em}.fa-canvas-roomy{padding-block:.25em;padding-inline:.125em;margin-block-end:-.25em;box-sizing:content-box}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin, 2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .0625em);box-sizing:var(--fa-border-box-sizing, content-box);padding:var(--fa-border-padding, .1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin, .3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1.5s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-flip-360{animation-name:fa-flip-360;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, .75s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}.fa-spin-snap{animation-name:fa-spin-snap;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 3s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2.4s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 4s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-buzz{animation-name:fa-buzz;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, .6s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, .9s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-out);transform-origin:bottom center}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 3s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1.2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-out);transform-origin:top center}.fa-jello{animation-name:fa-jello;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, .9s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-out)}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-flip-360,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-buzz,.fa-float,.fa-jello,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{animation:none!important;transition:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(1.25 * var(--fa-beat-scale, 1.25)))}45%{transform:scale(calc(1.22 * var(--fa-beat-scale, 1.22)))}65%{transform:scale(calc(1.25 * var(--fa-beat-scale, 1.25)))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0);animation-timing-function:var(--fa-animation-timing)}14%{transform:scale(var(--fa-bounce-start-scale-x, 1.06),var(--fa-bounce-start-scale-y, .94)) translateY(var(--fa-bounce-anticipation, 3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x, .94),var(--fa-bounce-jump-scale-y, 1.12)) translateY(calc(-1 * var(--fa-bounce-height, .5em)));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1) translateY(calc(-1 * var(--fa-bounce-height, .5em) * 1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x, 1.06),var(--fa-bounce-land-scale-y, .92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98,1.04) translateY(calc(-2px * var(--fa-bounce-rebound, 1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{0%{opacity:1;transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.4,1)}40%{opacity:var(--fa-fade-opacity, .4);transform:scale(.98);animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.4,1)}25%{opacity:calc(var(--fa-beat-fade-opacity, .4) + .4);transform:scale(var(--fa-beat-fade-scale, 1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity, .4) + .4);transform:scale(var(--fa-beat-fade-scale, 1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),0);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale, .95)) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),0);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * .6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * .5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -360deg))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),0);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale, .95)) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),0);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * .6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -360deg))}}@keyframes fa-shake{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.2,0,.8,1)}8%{transform:rotate(35deg) translate(1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}20%{transform:rotate(-22deg) translate(-1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}35%{transform:rotate(15deg) translate(1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}50%{transform:rotate(-9deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}65%{transform:rotate(5deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}78%{transform:rotate(-3deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}90%{transform:rotate(1deg);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap{0%{transform:rotate(0);animation-timing-function:cubic-bezier(0,0,.2,1)}12%{transform:rotate(60deg);animation-timing-function:cubic-bezier(.8,0,1,1)}16.67%{transform:rotate(60deg);animation-timing-function:cubic-bezier(0,0,.2,1)}28.67%{transform:rotate(120deg);animation-timing-function:cubic-bezier(.8,0,1,1)}33.33%{transform:rotate(120deg);animation-timing-function:cubic-bezier(0,0,.2,1)}45.33%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}62%{transform:rotate(240deg);animation-timing-function:cubic-bezier(.8,0,1,1)}66.67%{transform:rotate(240deg);animation-timing-function:cubic-bezier(0,0,.2,1)}78.67%{transform:rotate(300deg);animation-timing-function:cubic-bezier(.8,0,1,1)}83.33%{transform:rotate(300deg);animation-timing-function:cubic-bezier(0,0,.2,1)}95.33%{transform:rotate(360deg);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-4{0%{transform:rotate(0);animation-timing-function:cubic-bezier(0,0,.2,1)}15%{transform:rotate(90deg);animation-timing-function:cubic-bezier(.8,0,1,1)}25%{transform:rotate(90deg);animation-timing-function:cubic-bezier(0,0,.2,1)}40%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}65%{transform:rotate(270deg);animation-timing-function:cubic-bezier(.8,0,1,1)}75%{transform:rotate(270deg);animation-timing-function:cubic-bezier(0,0,.2,1)}90%{transform:rotate(360deg);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-8{0%{transform:rotate(0);animation-timing-function:cubic-bezier(0,0,.2,1)}9%{transform:rotate(45deg);animation-timing-function:cubic-bezier(.8,0,1,1)}12.5%{transform:rotate(45deg);animation-timing-function:cubic-bezier(0,0,.2,1)}21.5%{transform:rotate(90deg);animation-timing-function:cubic-bezier(.8,0,1,1)}25%{transform:rotate(90deg);animation-timing-function:cubic-bezier(0,0,.2,1)}34%{transform:rotate(135deg);animation-timing-function:cubic-bezier(.8,0,1,1)}37.5%{transform:rotate(135deg);animation-timing-function:cubic-bezier(0,0,.2,1)}46.5%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}59%{transform:rotate(225deg);animation-timing-function:cubic-bezier(.8,0,1,1)}62.5%{transform:rotate(225deg);animation-timing-function:cubic-bezier(0,0,.2,1)}71.5%{transform:rotate(270deg);animation-timing-function:cubic-bezier(.8,0,1,1)}75%{transform:rotate(270deg);animation-timing-function:cubic-bezier(0,0,.2,1)}84%{transform:rotate(315deg);animation-timing-function:cubic-bezier(.8,0,1,1)}87.5%{transform:rotate(315deg);animation-timing-function:cubic-bezier(0,0,.2,1)}96.5%{transform:rotate(360deg);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(360deg)}}@keyframes fa-buzz{0%{transform:translate(0) rotate(0);animation-timing-function:cubic-bezier(.1,0,.9,1)}5%{transform:translate(var(--fa-buzz-distance, 4px)) rotate(.5deg)}10%{transform:translate(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-.5deg)}15%{transform:translate(var(--fa-buzz-distance, 4px)) rotate(.3deg)}20%{transform:translate(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-.3deg)}25%{transform:translate(calc(var(--fa-buzz-distance, 4px) * .7)) rotate(.2deg)}30%{transform:translate(calc(-1 * var(--fa-buzz-distance, 4px) * .7)) rotate(-.2deg)}35%{transform:translate(calc(var(--fa-buzz-distance, 4px) * .4)) rotate(.1deg)}40%{transform:translate(0) rotate(0)}to{transform:translate(0) rotate(0)}}@keyframes fa-wag{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.2,0,.6,1)}12%{transform:rotate(var(--fa-wag-angle, 12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{transform:rotate(2deg);animation-timing-function:cubic-bezier(.2,0,.6,1)}36%{transform:rotate(calc(var(--fa-wag-angle, 12deg) * .85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{transform:rotate(1deg);animation-timing-function:cubic-bezier(.2,0,.6,1)}58%{transform:rotate(calc(var(--fa-wag-angle, 12deg) * .6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-float{0%{transform:translateY(0) translate(0) rotate(0) scale(var(--fa-float-squash-x, 1.02),var(--fa-float-squash-y, .98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(-.4 * var(--fa-float-height, 6px))) translate(var(--fa-float-drift, 1px)) rotate(var(--fa-float-tilt, 1deg)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(-1 * var(--fa-float-height, 6px))) translate(0) rotate(0) scale(var(--fa-float-stretch-x, .98),var(--fa-float-stretch-y, 1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(-.92 * var(--fa-float-height, 6px))) translate(calc(-.5 * var(--fa-float-drift, 1px))) rotate(calc(-.5 * var(--fa-float-tilt, 1deg))) scale(.995,1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(-.3 * var(--fa-float-height, 6px))) translate(calc(-1 * var(--fa-float-drift, 1px))) rotate(calc(-1 * var(--fa-float-tilt, 1deg))) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(.05 * var(--fa-float-height, 6px))) translate(0) rotate(0) scale(var(--fa-float-squash-x, 1.02),var(--fa-float-squash-y, .98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translate(0) rotate(0) scale(var(--fa-float-squash-x, 1.02),var(--fa-float-squash-y, .98))}}@keyframes fa-swing{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.2,0,.8,1)}8%{transform:rotate(var(--fa-swing-angle, 22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(-1 * var(--fa-swing-angle, 22deg) * .85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle, 22deg) * .65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(-1 * var(--fa-swing-angle, 22deg) * .45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle, 22deg) * .25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(-1 * var(--fa-swing-angle, 22deg) * .1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-jello{0%{transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.8,1)}12%{transform:scale(var(--fa-jello-scale-x, 1.15),calc(2 - var(--fa-jello-scale-x, 1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y, 1.12)),var(--fa-jello-scale-y, 1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(1 + (var(--fa-jello-scale-x, 1.15) - 1) * .5),calc(2 - (1 + (var(--fa-jello-scale-x, 1.15) - 1) * .5)));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(2 - (1 + (var(--fa-jello-scale-y, 1.12) - 1) * .3)),calc(1 + (var(--fa-jello-scale-y, 1.12) - 1) * .3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{transform:scale(1.02,.98);animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:scale(1)}to{transform:scale(1)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color, currentColor);opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color, currentColor);opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse, #fff)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-inverse{color:var(--fa-inverse, #fff)}.svg-inline--fa.fa-stack-1x{--fa-width: 1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width: 2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{top:0;right:0;bottom:0;left:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index, auto)}:root{--bg: #faf7f2;--surface: #ffffff;--input-bg: #ffffff;--ink: #2d2a26;--muted: #6e675d;--line: #e8e1d6;--maroon: #7d2c3b;--maroon-hover: #63202d;--accent: #7d2c3b;--gold: #856430;--gold-soft: #f3ead9;--green: #3d6b4f;--red: #a13333;--blue: #2e5d7a;--purple: #5b3f86;--overlay: rgba(45, 42, 38, .45);--radius: 10px;--shadow: 0 1px 3px rgba(45, 42, 38, .08);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236e675d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");color-scheme:light}:root[data-theme=dark]{--bg: #191613;--surface: #221e1a;--input-bg: #191613;--ink: #e9e2d8;--muted: #9b9184;--line: #37312a;--maroon: #8c3a4c;--maroon-hover: #a34a5d;--accent: #d68b9c;--gold: #c9a25f;--gold-soft: #2d2720;--green: #7fb694;--red: #d98080;--blue: #85b4d0;--purple: #b49bd6;--overlay: rgba(10, 8, 6, .6);--shadow: 0 1px 3px rgba(0, 0, 0, .3);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239b9184' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #191613;--surface: #221e1a;--input-bg: #191613;--ink: #e9e2d8;--muted: #9b9184;--line: #37312a;--maroon: #8c3a4c;--maroon-hover: #a34a5d;--accent: #d68b9c;--gold: #c9a25f;--gold-soft: #2d2720;--green: #7fb694;--red: #d98080;--blue: #85b4d0;--purple: #b49bd6;--overlay: rgba(10, 8, 6, .6);--shadow: 0 1px 3px rgba(0, 0, 0, .3);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239b9184' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");color-scheme:dark}}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{font-family:Poppins,system-ui,sans-serif;font-weight:500;line-height:1.2}a{color:var(--accent)}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:1.75rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:0;height:100vh;min-width:0}.brand h1{font-size:1.5rem;color:var(--accent)}.countdown{color:var(--gold);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;margin-top:.35rem}.sidebar nav{display:flex;flex-direction:column;gap:.15rem;flex:1}.sidebar nav a{padding:.5rem .75rem;border-radius:8px;text-decoration:none;color:var(--ink);-webkit-tap-highlight-color:transparent}.sidebar nav a:hover{background:var(--gold-soft)}.sidebar nav a.active{background:var(--maroon);color:#fff}.sidebar-actions{margin-top:auto;display:flex;flex-direction:column;gap:.5rem}.content{padding:2rem 2.5rem 4rem;max-width:1100px;width:100%;min-width:0;margin:0 auto}.page-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-header h1{font-size:2rem}.hero{background:var(--maroon);border-radius:var(--radius);padding:1.75rem 2rem;margin-bottom:1.5rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap}.hero-count{display:flex;align-items:baseline;gap:.75rem}.hero-days{font-family:Poppins,system-ui,sans-serif;font-size:3.4rem;font-weight:500;line-height:1;color:#fff}.hero-days-label{font-family:Poppins,system-ui,sans-serif;font-size:1.3rem;color:#f3ead9}.hero-where{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;text-align:right}.hero-date{font-family:Poppins,system-ui,sans-serif;font-size:1.15rem;color:#fff}.hero-venue{font-size:.9rem;color:#f3ead9}@media (max-width: 820px){.hero{padding:1.4rem 1.5rem}.hero-days{font-size:2.6rem}.hero-where{align-items:flex-start;text-align:left}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem;gap:1rem}.card-head h2{font-size:1.15rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.15rem}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stat-value{font-family:Poppins,system-ui,sans-serif;font-size:1.6rem;color:var(--accent)}.stat-sub,.stat-sub-inline{font-size:.8rem;color:var(--muted)}.stat-sub .over{color:var(--red)}.budget-card{gap:.35rem}.budget-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.budget-bar{position:relative;height:.55rem;border-radius:99px;background:color-mix(in srgb,var(--muted) 14%,transparent);overflow:hidden;margin:.2rem 0}.budget-seg{position:absolute;inset:0 auto 0 0;border-radius:99px}.seg-projected{background:color-mix(in srgb,var(--maroon) 22%,transparent)}.seg-committed{background:color-mix(in srgb,var(--maroon) 50%,transparent)}.seg-paid{background:var(--maroon)}@media (min-width: 561px){.budget-card{grid-column:span 2}}.skeleton-bar{display:inline-block;width:6rem;height:1.5rem;border-radius:6px;background:color-mix(in srgb,var(--muted) 16%,transparent);animation:skeleton-pulse 1.2s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.skeleton-bar{animation:none}}.error-banner{border:1px solid color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 9%,transparent);color:var(--ink);border-radius:var(--radius);padding:.7rem 1rem;margin-bottom:1.5rem;font-size:.92rem}.check-cell{width:2rem}.check-cell input{cursor:pointer}.head-meta{display:flex;align-items:baseline;gap:.75rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:.5rem .6rem;border-bottom:1px solid var(--line)}td{padding:.6rem;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:none}tfoot td{border-top:2px solid var(--line);border-bottom:none}table.clickable tbody tr{cursor:pointer}table.clickable tbody tr:hover{background:var(--gold-soft)}.num{text-align:right;white-space:nowrap}th.num{text-align:right}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--ink)}.sort-arrow{font-size:.6rem}td.editable{cursor:pointer}td.editable:hover{background:var(--gold-soft);border-radius:6px}td .cell-input{padding:.15rem .4rem;max-width:7.5rem;text-align:right}.card-head.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media (max-width: 700px){.card-head.collapsible{flex-direction:column;align-items:flex-start;gap:.1rem}.card-head.collapsible>span{padding-left:1.1rem;text-align:left}}.chevron{display:inline-block;width:1.1rem;color:var(--muted);font-size:.85em}.table-card{padding:.75rem 1rem .5rem}.table-card .card-head{padding:.5rem .6rem 0}.row-done{opacity:.55}.due-soon{color:var(--red);font-weight:600;white-space:nowrap}.over{color:var(--red)}.under{color:var(--green)}.notes-cell{max-width:260px}.badge{display:inline-block;padding:.1rem .55rem;border-radius:99px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.badge-researching,.badge-rsvp-pending,.badge-quote-waiting,.badge-doc-other{background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}.badge-quoted,.badge-doc-quote{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}.badge-booked,.badge-done,.badge-rsvp-yes,.badge-quote-selected{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}.badge-rsvp-no,.badge-quote-declined{background:color-mix(in srgb,var(--red) 13%,transparent);color:var(--red)}.badge-quote-received,.badge-doc-invoice{background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue)}.badge-doc-contract{background:color-mix(in srgb,var(--purple) 15%,transparent);color:var(--purple)}button{font:inherit;cursor:pointer}.btn-primary{background:var(--maroon);color:#fff;border:none;border-radius:8px;padding:.55rem 1.1rem;font-weight:600}.btn-primary:hover{background:var(--maroon-hover)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{background:none;border:1px solid var(--line);border-radius:8px;padding:.5rem 1rem;color:var(--ink)}.btn-ghost:hover{background:var(--gold-soft)}.btn-ghost.small{padding:.2rem .6rem;font-size:.8rem}.btn-danger{background:none;border:1px solid color-mix(in srgb,var(--red) 40%,transparent);color:var(--red);border-radius:8px;padding:.5rem 1rem;margin-right:auto}.btn-danger:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}.link-btn{background:none;border:none;color:var(--accent);text-decoration:underline;padding:0;font-weight:600;text-align:left}input,select,textarea{font:inherit;color:var(--ink);background:var(--input-bg);border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;width:100%}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right .65rem center;background-size:.7rem;padding-right:2rem;cursor:pointer}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--maroon);cursor:pointer}.form-grid{display:flex;flex-direction:column;gap:.9rem}.form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;color:var(--muted)}.form-row{display:flex;gap:.9rem}.form-row>label{flex:1}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important;color:var(--ink)!important;font-weight:500!important}.event-checks{border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.event-checks legend{font-size:.85rem;font-weight:600;color:var(--muted);padding:0 .3rem}.form-actions{display:flex;justify-content:flex-end;gap:.6rem;padding-top:.5rem}.filter-bar{display:flex;gap:.75rem;margin-bottom:1rem}.filter-bar input{max-width:280px}.filter-bar select{width:auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;z-index:50;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:100%;max-width:560px;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem .75rem;border-bottom:1px solid var(--line)}.modal-header h2{font-size:1.25rem}.modal-body{padding:1.25rem 1.5rem 1.5rem}.header-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.seating-canvas-layout{display:grid;grid-template-columns:244px 1fr;gap:1rem;height:calc(100vh - 8rem);min-height:420px}.seating-sidebar{display:flex;flex-direction:column;gap:.6rem;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem}.seating-sidebar-head{display:flex;align-items:baseline;justify-content:space-between}.seating-search{width:100%}.side-controls{display:flex;gap:.4rem;align-items:center}.toggle-btn{flex:none;border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:6px;padding:.28rem .55rem;font-size:.75rem;font-weight:600;cursor:pointer}.toggle-btn.on{background:var(--gold-soft);border-color:var(--gold);color:var(--ink)}.seating-chip-list{display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;flex:1;min-height:0;padding-right:.15rem}.chip-stack{display:flex;flex-wrap:wrap;gap:.4rem;align-content:flex-start}.party-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:99px;padding:.25rem .75rem;font-size:.85rem;background:var(--bg);cursor:grab;-webkit-user-select:none;user-select:none;max-width:100%}.party-chip:active{cursor:grabbing}.party-chip.pickable{cursor:pointer;font:inherit;font-size:.85rem;justify-content:space-between}.party-chip.pickable:hover{background:var(--gold-soft);border-color:var(--gold)}.chip-x{background:none;border:none;color:var(--muted);padding:0;font-size:.75rem;line-height:1;cursor:pointer}.chip-x:hover{color:var(--red)}.add-list{max-height:45vh;overflow-y:auto}.canvas-viewport{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background-color:var(--bg);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:22px 22px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.canvas-viewport:active{cursor:grabbing}.canvas-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;transition:opacity .15s ease}.canvas-toolbar{position:absolute;top:.6rem;right:.6rem;z-index:5;display:flex;gap:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.2rem;box-shadow:var(--shadow)}.canvas-toolbar .btn-ghost.small{min-width:2.2rem}.canvas-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:20rem}.table-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.35rem;touch-action:none;user-select:none;-webkit-user-select:none}.table-shape{position:relative;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:2px solid var(--accent);cursor:grab;box-shadow:var(--shadow)}.table-shape.round{border-radius:50%}.table-shape.rect{border-radius:12px}.table-shape.over{border-color:var(--red)}.table-node.dragging{z-index:10}.table-node.dragging .table-shape{cursor:grabbing;box-shadow:0 10px 24px var(--overlay)}.table-node.drag-over .table-shape{border-style:dashed;background:color-mix(in srgb,var(--accent) 20%,var(--surface))}.seat-pip{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 55%,transparent);background:var(--bg);transform:translate(-50%,-50%)}.seat-pip.filled{background:var(--accent);border-color:var(--accent)}.table-label{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:0 .4rem;text-align:center;pointer-events:none}.table-name{font-family:Poppins,system-ui,sans-serif;font-weight:500;font-size:.9rem;line-height:1.1}.table-count{font-size:.72rem;color:var(--muted)}.table-count.over{color:var(--red);font-weight:600}.table-occupants{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:150px;max-width:230px;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.2rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 24px var(--overlay);padding:.4rem;z-index:40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s}.table-node:hover .table-occupants,.table-occupants:hover{opacity:1;visibility:visible;pointer-events:auto}.occ-head{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.1rem .2rem .2rem}.occ-chip{display:flex;align-items:center;gap:.4rem;justify-content:space-between;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.15rem .5rem;font-size:.8rem}.occ-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-node{z-index:2}.table-node:hover{z-index:30}.table-node.selected,.layout-object.selected{z-index:31}.table-node.selected .table-shape,.layout-object.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}.rotate-handle{position:absolute;top:-24px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);cursor:grab;opacity:0;pointer-events:none;transition:opacity .12s}.rotate-handle:before{content:"";position:absolute;left:50%;top:100%;width:2px;height:12px;margin-left:-1px;background:var(--accent)}.table-node.selected .rotate-handle,.layout-object.selected .rotate-handle,.table-node.selected .obj-resize,.layout-object.selected .obj-resize{opacity:1;pointer-events:auto}.layout-object .rotate-handle{border-color:var(--gold)}.layout-object .rotate-handle:before{background:var(--gold)}.layout-object{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;padding:.4rem;background:color-mix(in srgb,var(--gold) 12%,transparent);border:1.5px dashed var(--gold);color:var(--muted);cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}.layout-object.rect{border-radius:10px}.layout-object.circle{border-radius:50%}.layout-object.dragging{z-index:20;cursor:grabbing}.obj-label{font-family:Poppins,system-ui,sans-serif;font-weight:500;font-size:.85rem;color:var(--ink);text-align:center;overflow:hidden;text-overflow:ellipsis;pointer-events:none;padding:0 .3rem}.obj-resize{position:absolute;right:-9px;bottom:-9px;display:grid;place-items:center;width:19px;height:19px;border-radius:4px;background:var(--maroon);border:1.5px solid var(--surface);color:#fff;cursor:nwse-resize;opacity:0;pointer-events:none;transition:opacity .12s}.obj-resize svg,.group-resize-handle svg{width:11px;height:11px;pointer-events:none;transform:rotate(90deg)}.layout-object.circle .obj-resize{right:0;bottom:0}.selection-toolbar{position:absolute;top:.6rem;left:50%;transform:translate(-50%);z-index:7;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.3rem .5rem;box-shadow:var(--shadow);max-width:calc(100% - 9rem)}.sel-count{font-size:.8rem;font-weight:600;color:var(--muted);padding:0 .3rem}.canvas-viewport.grabbing{cursor:grabbing}@media (max-width: 820px){.seating-canvas-layout{grid-template-columns:1fr;height:auto}.seating-sidebar{max-height:45vh}.canvas-viewport{height:70vh}.table-edit{opacity:1}}.plus-one-row td{border-bottom-color:transparent}.plus-one-row+tr:not(.plus-one-row) td{border-top:1px solid var(--line)}.plus-one-name{padding-left:1.4rem}.plus-one-name strong{font-weight:500}.plus-ones{border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.plus-ones legend{font-size:.85rem;font-weight:600;color:var(--muted);padding:0 .3rem}.plus-one-edit{display:grid;grid-template-columns:1fr 1fr 6.5rem 1fr auto;gap:.4rem;width:100%}@media (max-width: 820px){.plus-one-edit{grid-template-columns:1fr 1fr}}.bulk-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.7rem .9rem;margin-bottom:1rem;background:var(--gold-soft);border:1px solid var(--gold);border-radius:10px}.bulk-count{align-self:center;font-weight:600;font-size:.85rem}.bulk-field{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.bulk-field select,.bulk-field input{font-size:.85rem;padding:.3rem .5rem;min-width:8rem;text-transform:none;letter-spacing:0;font-weight:400}.bulk-bar .btn-danger.small,.bulk-bar .btn-ghost.small{align-self:center}.select-col{width:2.4rem;text-align:center;padding-left:.4rem;padding-right:.4rem}th.select-col{text-align:center}tr.row-selected td,tr.row-selected:hover td{background:var(--gold-soft)}.tag-chips{display:inline-flex;flex-wrap:wrap;gap:.3rem}.tag-chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--gold-soft);border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:.1rem .55rem;font-size:.72rem;font-weight:500;white-space:nowrap}.tag-chip.removable button{background:none;border:none;color:var(--muted);padding:0;font-size:.75rem;line-height:1;cursor:pointer}.tag-chip.removable button:hover{color:var(--red)}.tag-editor{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;border:1px solid var(--line);border-radius:8px;padding:.45rem .55rem;background:var(--input-bg)}.tag-editor .tag-input{flex:1;min-width:8rem;border:none;padding:.15rem .2rem;background:transparent}.tag-editor .tag-input:focus{outline:none}.guests-table td{vertical-align:middle;padding-top:.5rem;padding-bottom:.5rem}.guests-table th{padding-top:.55rem;padding-bottom:.55rem}.guests-table .plus-one-row td{padding-top:.3rem;padding-bottom:.3rem}.guests-table .plus-one-name{padding-left:1.4rem}@media (max-width: 900px){.page-guests .table-card{overflow-x:auto}.page-guests .guests-table{min-width:760px}}.modal.modal-wide{max-width:720px}.import-form{display:flex;flex-direction:column;gap:.9rem}.import-help summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--muted)}.import-help[open] summary{margin-bottom:.5rem}.import-cols{margin:.3rem 0 .5rem 1.1rem;display:grid;gap:.15rem}.import-textarea{width:100%;min-height:8.5rem;resize:vertical;font-size:.85rem;line-height:1.5;white-space:pre;overflow-x:auto}.import-preview{border:1px solid var(--line);border-radius:8px;overflow:hidden}.import-preview-head{padding:.5rem .75rem;background:var(--bg);border-bottom:1px solid var(--line);font-weight:600;color:var(--muted)}.import-preview-scroll{max-height:12rem;overflow-y:auto}.import-preview-scroll table{width:100%}.import-preview-scroll th,.import-preview-scroll td{padding:.35rem .75rem}.staff-group{font-size:.95rem;color:var(--muted);padding:.9rem .6rem .2rem}.guest-count-input{font-family:Poppins,system-ui,sans-serif;font-size:1.4rem;color:var(--accent);padding:.3rem .6rem;min-height:2.75rem;max-width:7rem}.page-payments .table-card table,table.quotes-table,.page-costs .table-card table{table-layout:fixed}.page-payments th:nth-child(1){width:3.2rem}.page-payments th:nth-child(2){width:27%}.page-payments th:nth-child(3){width:108px}.page-payments th:nth-child(4){width:118px}.page-payments th:nth-child(5){width:110px}.page-payments th:nth-child(7){width:72px}table.quotes-table th:nth-child(1){width:28%}table.quotes-table th:nth-child(2){width:108px}table.quotes-table th:nth-child(3){width:108px}table.quotes-table th:nth-child(5){width:132px}.page-costs th:nth-child(2),.page-costs th:nth-child(3),.page-costs th:nth-child(4),.page-costs th:nth-child(5){width:110px}@media (max-width: 1150px){.page-payments .table-card,.page-quotes .table-card,.page-costs .table-card{overflow-x:auto}.page-payments .table-card table{min-width:700px}.page-quotes .table-card table{min-width:640px}.page-costs .table-card table{min-width:560px}}.actions-cell{white-space:nowrap;text-align:right}.actions-cell button+button{margin-left:.4rem}.contact-line{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.15rem}.contact-line a{color:var(--muted)}.contact-line a:hover{color:var(--accent)}.selected-contact{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;background:color-mix(in srgb,var(--green) 9%,transparent);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);border-radius:8px;padding:.55rem .9rem;margin:.25rem .6rem .75rem;font-size:.9rem}.selected-contact-name{color:var(--green);font-weight:600}.selected-contact a{color:var(--ink);text-decoration:none}.selected-contact a:hover{color:var(--accent);text-decoration:underline}.vendor-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.25rem;padding:0 .6rem .6rem}.vendor-notes{white-space:pre-line;max-width:60ch}.vendor-meta-actions{margin-left:auto;display:flex;gap:.4rem}.quote-mini{border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem}.quote-mini-head{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.4rem}.quote-mini ul{list-style:none;padding:0}.quote-mini li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;font-size:.9rem}.task-list{list-style:none;padding:0}.task{display:flex;gap:.75rem;padding:.55rem .25rem;border-bottom:1px solid var(--line);align-items:flex-start}.task:last-child{border-bottom:none}.task input[type=checkbox]{margin-top:.2rem}.task-main{display:flex;flex-direction:column;cursor:pointer}.task.done .task-title{text-decoration:line-through;color:var(--muted)}.task-preview{list-style:none;padding:0}.task-preview li{display:flex;align-items:baseline;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.task-preview li:last-child{border-bottom:none}.task-preview-title{flex:1;cursor:pointer}.task-preview li span:last-child{white-space:nowrap;flex-shrink:0}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--maroon);padding:1rem}.login-card{border:none}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px #00000026;padding:2.5rem 2.25rem;width:100%;max-width:380px;display:flex;flex-direction:column;gap:1rem;text-align:center}.login-card h1{font-size:2rem;color:var(--accent)}.login-sub{color:var(--muted);font-size:.9rem;margin-top:-.5rem}.muted{color:var(--muted)}.small{font-size:.8rem}.pad{padding:1rem .6rem}.error{color:var(--red);font-size:.9rem}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--muted)}@media (max-width: 820px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{position:static;height:auto;flex-direction:column;padding:1rem 1.25rem}.nav-toggle{display:none}.sidebar nav{flex:none;flex-direction:row;overflow-x:auto;gap:.25rem;padding-bottom:.25rem}.sidebar nav a{align-self:center}input,select,textarea{font-size:16px}.sidebar nav a{white-space:nowrap}.sidebar-actions{flex-direction:row;margin-top:0}.sidebar-actions .btn-ghost{padding:.35rem .7rem;font-size:.85rem}.content{padding:1.25rem 1rem 3rem}.two-col{grid-template-columns:1fr}.two-col .card{overflow-x:auto}.form-row{flex-direction:column}.table-card{overflow-x:auto}}.nav-toggle{align-self:flex-end;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;padding:.2rem .55rem;font-size:1rem;line-height:1;cursor:pointer}.nav-toggle:hover{color:var(--ink);border-color:var(--gold)}@media (min-width: 821px){.layout.nav-collapsed{grid-template-columns:56px 1fr}.nav-collapsed .sidebar{padding:1rem .5rem;align-items:center;gap:.75rem;cursor:pointer}.nav-collapsed .sidebar:hover{background:var(--gold-soft)}.nav-collapsed .sidebar .brand,.nav-collapsed .sidebar nav,.nav-collapsed .sidebar-actions{display:none}.nav-collapsed .nav-toggle{align-self:center}}.content-wide{max-width:none}.tag-filter{position:relative;display:inline-block}.tag-filter-btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);background:var(--input-bg);color:var(--ink);border-radius:8px;padding:.4rem .7rem;font:inherit;font-size:.9rem;cursor:pointer}.tag-filter-btn:disabled{opacity:.5;cursor:default}.tag-filter-btn.active{border-color:var(--gold);background:var(--gold-soft)}.tag-filter-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12rem}.tag-filter-caret{color:var(--muted);font-size:.7rem}.tag-filter-menu{position:absolute;z-index:30;top:calc(100% + .3rem);left:0;min-width:100%;max-width:16rem;max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px var(--overlay);padding:.35rem;display:flex;flex-direction:column;gap:.1rem}.tag-filter-opt{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:6px;font-size:.85rem;cursor:pointer;white-space:nowrap}.tag-filter-opt:hover{background:var(--gold-soft)}.tag-filter-clear{margin-top:.2rem;border:none;border-top:1px solid var(--line);background:none;color:var(--muted);padding:.4rem .5rem;text-align:left;cursor:pointer;font-size:.8rem}.tag-filter-clear:hover{color:var(--accent)}.side-tag-filter{flex:1;min-width:0;display:block}.side-tag-filter .tag-filter-btn{width:100%;justify-content:space-between;font-size:.8rem;padding:.28rem .55rem}.side-tag-filter .tag-filter-label{max-width:none}.import-upload{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.import-file-btn{cursor:pointer}.settings-card{max-width:640px}.settings-card h2{font-size:1.15rem}.settings-card>p{margin-bottom:.9rem}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg-btn{display:flex;flex-direction:column;gap:.1rem;align-items:flex-start;background:var(--surface);color:var(--ink);border:none;border-right:1px solid var(--line);padding:.5rem .95rem;cursor:pointer;font:inherit}.seg-btn:last-child{border-right:none}.seg-btn .seg-hint{font-size:.72rem;color:var(--muted)}.seg-btn.on{background:var(--maroon);color:#fff}.seg-btn.on .seg-hint{color:inherit;opacity:.8}.scheme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.scheme-swatch{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:.6rem .75rem;cursor:pointer;font:inherit;color:var(--ink);text-align:left}.scheme-swatch:hover{border-color:var(--accent)}.scheme-swatch.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 32%,transparent)}.swatch-dots{display:inline-flex;flex:none}.swatch-dots .dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--surface)}.swatch-dots .dot:nth-child(2){margin-left:-7px}.swatch-name{font-size:.9rem}.settings-link{display:block;text-align:center;text-decoration:none}.settings-link.active{background:var(--maroon);color:#fff}.save-toast{position:absolute;bottom:.6rem;left:.6rem;z-index:7;font-size:.72rem;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:.15rem .6rem;opacity:.85;pointer-events:none}.save-toast.saving{color:var(--gold)}.save-toast.saved{color:var(--green)}.selection-frame{position:absolute;z-index:42;border:1.5px dashed var(--accent);border-radius:6px;pointer-events:none}.marquee-box{position:absolute;z-index:40;border:1.5px dashed var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:4px;pointer-events:none}.canvas-hint{position:absolute;left:.6rem;bottom:.6rem;z-index:5;padding:.28rem .6rem;font-size:.75rem;color:var(--muted);background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);pointer-events:none;-webkit-user-select:none;user-select:none}.group-resize-handle{position:absolute;right:-10px;bottom:-10px;display:grid;place-items:center;width:21px;height:21px;border-radius:4px;background:var(--maroon);border:2px solid var(--surface);color:#fff;cursor:nwse-resize;pointer-events:auto}.table-node.locked .table-shape,.layout-object.locked{cursor:default}.table-node.locked .table-shape,.layout-object.locked{outline:1.5px dashed var(--muted);outline-offset:3px}.lock-badge{position:absolute;top:0;right:0;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--maroon);color:#fff;font-size:.75rem;line-height:1;box-shadow:var(--shadow);transform-origin:center;pointer-events:none;z-index:3}.table-occupants{transform-origin:center top}
