@import"https://fonts.googleapis.com/css?family=Roboto:400,500,700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#090000de;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.mdl-button{background:0 0;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:0;min-width:64px;padding:0 16px;display:inline-block;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:0;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.mdl-button::-moz-focus-inner{border:0}.mdl-button:hover{background-color:#9e9e9e33}.mdl-button:focus:not(:active){background-color:#0000001f}.mdl-button:active{background-color:#9e9e9e66}.mdl-button.mdl-button--colored{color:#3f51b5}.mdl-button.mdl-button--colored:focus:not(:active){background-color:#0000001f}input.mdl-button[type=submit]{-webkit-appearance:none}.mdl-button--raised{background:#9e9e9e33;box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0003,0 1px 5px #0000001f}.mdl-button--raised:active{box-shadow:0 4px 5px #00000024,0 1px 10px #0000001f,0 2px 4px -1px #0003;background-color:#9e9e9e66}.mdl-button--raised:focus:not(:active){box-shadow:0 0 8px #0000002e,0 8px 16px #0000005c;background-color:#9e9e9e66}.mdl-button--raised.mdl-button--colored{background:#3f51b5;color:#fff}.mdl-button--raised.mdl-button--colored:hover,.mdl-button--raised.mdl-button--colored:active{background-color:#3f51b5}.mdl-button--raised.mdl-button--colored:focus:not(:active){background-color:#3f51b5}.mdl-button--raised.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--fab{border-radius:50%;font-size:24px;height:56px;margin:auto;min-width:56px;width:56px;padding:0;overflow:hidden;background:#9e9e9e33;box-shadow:0 1px 1.5px #0000001f,0 1px 1px #0000003d;position:relative;line-height:normal}.mdl-button--fab .material-icons{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--fab.mdl-button--mini-fab{height:40px;min-width:40px;width:40px}.mdl-button--fab .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button--fab:active{box-shadow:0 4px 5px #00000024,0 1px 10px #0000001f,0 2px 4px -1px #0003;background-color:#9e9e9e66}.mdl-button--fab:focus:not(:active){box-shadow:0 0 8px #0000002e,0 8px 16px #0000005c;background-color:#9e9e9e66}.mdl-button--fab.mdl-button--colored{background:#ff4081;color:#fff}.mdl-button--fab.mdl-button--colored:hover{background-color:#ff4081}.mdl-button--fab.mdl-button--colored:focus:not(:active){background-color:#ff4081}.mdl-button--fab.mdl-button--colored:active{background-color:#ff4081}.mdl-button--fab.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--icon{border-radius:50%;font-size:24px;height:32px;margin-left:0;margin-right:0;min-width:32px;width:32px;padding:0;overflow:hidden;color:inherit;line-height:normal}.mdl-button--icon .material-icons{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon{height:24px;min-width:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon .material-icons{top:0;left:0}.mdl-button--icon .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button__ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple,.mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple{background-color:transparent}.mdl-button--primary.mdl-button--primary{color:#3f51b5}.mdl-button--primary.mdl-button--primary .mdl-ripple{background:#fff}.mdl-button--primary.mdl-button--primary.mdl-button--fab,.mdl-button--primary.mdl-button--primary.mdl-button--raised{color:#fff;background-color:#3f51b5}.mdl-button--accent.mdl-button--accent{color:#ff4081}.mdl-button--accent.mdl-button--accent .mdl-ripple{background:#fff}.mdl-button--accent.mdl-button--accent.mdl-button--fab,.mdl-button--accent.mdl-button--accent.mdl-button--raised{color:#fff;background-color:#ff4081}.mdl-button.mdl-button--disabled.mdl-button--disabled,.mdl-button[disabled][disabled]{color:#00000042;cursor:default;background-color:transparent}.mdl-button--fab.mdl-button--disabled.mdl-button--disabled,.mdl-button--fab[disabled][disabled]{background-color:#0000001f;color:#00000042}.mdl-button--raised.mdl-button--disabled.mdl-button--disabled,.mdl-button--raised[disabled][disabled]{background-color:#0000001f;color:#00000042;box-shadow:none}.mdl-button--colored.mdl-button--disabled.mdl-button--disabled,.mdl-button--colored[disabled][disabled]{color:#00000042}.mdl-button .material-icons{vertical-align:middle}.mdl-card{display:flex;flex-direction:column;font-size:16px;font-weight:400;min-height:200px;overflow:hidden;width:330px;z-index:1;position:relative;background:#fff;border-radius:2px;box-sizing:border-box}.mdl-card__media{background-color:#ff4081;background-repeat:repeat;background-position:50% 50%;background-size:cover;background-origin:padding-box;background-attachment:scroll;box-sizing:border-box}.mdl-card__title{align-items:center;color:#000;display:block;display:flex;justify-content:stretch;line-height:normal;padding:16px;perspective-origin:165px 56px;transform-origin:165px 56px;box-sizing:border-box}.mdl-card__title.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__title-text{align-self:flex-end;color:inherit;display:block;display:flex;font-size:24px;font-weight:300;line-height:normal;overflow:hidden;transform-origin:149px 48px;margin:0}.mdl-card__subtitle-text{font-size:14px;color:#0000008a;margin:0}.mdl-card__supporting-text{color:#0000008a;font-size:1rem;line-height:18px;overflow:hidden;padding:16px;width:90%}.mdl-card__supporting-text.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__actions{font-size:16px;line-height:normal;width:100%;background-color:#0000;padding:8px;box-sizing:border-box}.mdl-card__actions.mdl-card--border{border-top:1px solid rgba(0,0,0,.1)}.mdl-card--expand{flex-grow:1}.mdl-card__menu{position:absolute;right:16px;top:16px}.mdl-dialog{border:none;box-shadow:0 9px 46px 8px #00000024,0 11px 15px -7px #0000001f,0 24px 38px 3px #0003;width:280px}.mdl-dialog__title{padding:24px 24px 0;margin:0;font-size:2.5rem}.mdl-dialog__actions{padding:8px 8px 8px 24px;display:flex;flex-direction:row-reverse;flex-wrap:wrap}.mdl-dialog__actions>*{margin-right:8px;height:36px}.mdl-dialog__actions>:first-child{margin-right:0}.mdl-dialog__actions--full-width{padding:0 0 8px}.mdl-dialog__actions--full-width>*{height:48px;flex:0 0 100%;padding-right:16px;margin-right:0;text-align:right}.mdl-dialog__content{padding:20px 24px 24px;color:#0000008a}.mdl-progress{display:block;position:relative;height:4px;width:500px;max-width:100%}.mdl-progress>.bar{display:block;position:absolute;top:0;bottom:0;width:0%;transition:width .2s cubic-bezier(.4,0,.2,1)}.mdl-progress>.progressbar{background-color:#3f51b5;z-index:1;left:0}.mdl-progress>.bufferbar{background-image:linear-gradient(to right,#ffffffb3,#ffffffb3),linear-gradient(to right,#3f51b5,#3f51b5);z-index:0;left:0}.mdl-progress>.auxbar{right:0}@supports (-webkit-appearance:none){.mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,#ffffffb3,#ffffffb3),linear-gradient(to right,#3f51b5,#3f51b5);mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=)}}.mdl-progress:not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,#ffffffe6,#ffffffe6),linear-gradient(to right,#3f51b5,#3f51b5)}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1{background-color:#3f51b5;animation-name:indeterminate1;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear}.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-image:none;background-color:#3f51b5;animation-name:indeterminate2;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes indeterminate1{0%{left:0;width:0%}50%{left:25%;width:75%}75%{left:100%;width:0%}}@keyframes indeterminate2{0%{left:0;width:0%}50%{left:0;width:0%}75%{left:0;width:25%}to{left:100%;width:0%}}.mdl-shadow--2dp{box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0003,0 1px 5px #0000001f}.mdl-shadow--3dp{box-shadow:0 3px 4px #00000024,0 3px 3px -2px #0003,0 1px 8px #0000001f}.mdl-shadow--4dp{box-shadow:0 4px 5px #00000024,0 1px 10px #0000001f,0 2px 4px -1px #0003}.mdl-shadow--6dp{box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.mdl-shadow--8dp{box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003}.mdl-shadow--16dp{box-shadow:0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f,0 8px 10px -5px #0003}.mdl-shadow--24dp{box-shadow:0 9px 46px 8px #00000024,0 11px 15px -7px #0000001f,0 24px 38px 3px #0003}.mdl-spinner{display:inline-block;position:relative;width:28px;height:28px}.mdl-spinner:not(.is-upgraded).is-active:after{content:"Loading..."}.mdl-spinner.is-upgraded.is-active{animation:mdl-spinner__container-rotate 1.568s linear infinite}@keyframes mdl-spinner__container-rotate{to{transform:rotate(360deg)}}.mdl-spinner__layer{position:absolute;width:100%;height:100%;opacity:0}.mdl-spinner__layer-1{border-color:#42a5f5}.mdl-spinner--single-color .mdl-spinner__layer-1{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-1{animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-2{border-color:#f44336}.mdl-spinner--single-color .mdl-spinner__layer-2{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-2{animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-3{border-color:#fdd835}.mdl-spinner--single-color .mdl-spinner__layer-3{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-3{animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-4{border-color:#4caf50}.mdl-spinner--single-color .mdl-spinner__layer-4{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-4{animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes mdl-spinner__fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes mdl-spinner__layer-1-fade-in-out{0%{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdl-spinner__layer-2-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}}@keyframes mdl-spinner__layer-3-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}}@keyframes mdl-spinner__layer-4-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}.mdl-spinner__gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__gap-patch .mdl-spinner__circle{width:1000%;left:-450%}.mdl-spinner__circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__circle-clipper.mdl-spinner__left{float:left}.mdl-spinner__circle-clipper.mdl-spinner__right{float:right}.mdl-spinner__circle-clipper .mdl-spinner__circle{width:200%}.mdl-spinner__circle{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;animation:none;position:absolute;top:0;right:0;bottom:0;left:0}.mdl-spinner__left .mdl-spinner__circle{border-right-color:transparent!important;transform:rotate(129deg)}.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle{animation:mdl-spinner__left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__right .mdl-spinner__circle{left:-100%;border-left-color:transparent!important;transform:rotate(-129deg)}.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle{animation:mdl-spinner__right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes mdl-spinner__left-spin{0%{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@keyframes mdl-spinner__right-spin{0%{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}.mdl-textfield .mdl-button{position:absolute;bottom:20px}.mdl-textfield--align-right{text-align:right}.mdl-textfield--full-width{width:100%}.mdl-textfield--expandable{min-width:32px;width:auto;min-height:32px}.mdl-textfield--expandable .mdl-button--icon{top:16px}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:Helvetica,Arial,sans-serif;margin:0;padding:4px 0;width:100%;background:0 0;text-align:left;color:inherit}.mdl-textfield__input[type=number]{-moz-appearance:textfield}.mdl-textfield__input[type=number]::-webkit-inner-spin-button,.mdl-textfield__input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mdl-textfield.is-focused .mdl-textfield__input{outline:0}.mdl-textfield.is-invalid .mdl-textfield__input{border-color:#d50000;box-shadow:none}.mdl-textfield.is-disabled .mdl-textfield__input,fieldset[disabled] .mdl-textfield .mdl-textfield__input{background-color:transparent;border-bottom:1px dotted rgba(0,0,0,.12);color:#00000042}.mdl-textfield textarea.mdl-textfield__input{display:block}.mdl-textfield__label{bottom:0;color:#00000042;font-size:16px;left:0;right:0;pointer-events:none;position:absolute;display:block;top:24px;width:100%;overflow:hidden;white-space:nowrap;text-align:left}.mdl-textfield.has-placeholder .mdl-textfield__label,.mdl-textfield.is-dirty .mdl-textfield__label{visibility:hidden}.mdl-textfield--floating-label .mdl-textfield__label{transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label{transition:none}.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label,fieldset[disabled] .mdl-textfield .mdl-textfield__label{color:#00000042}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,.mdl-textfield--floating-label.is-focused .mdl-textfield__label{color:#3f51b5;font-size:12px;top:4px;visibility:visible}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label{top:-16px}.mdl-textfield--floating-label.is-invalid .mdl-textfield__label{color:#d50000;font-size:12px}.mdl-textfield__label:after{background-color:#3f51b5;bottom:20px;content:"";height:2px;left:45%;position:absolute;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;width:10px}.mdl-textfield.is-focused .mdl-textfield__label:after{left:0;visibility:visible;width:100%}.mdl-textfield.is-invalid .mdl-textfield__label:after{background-color:#d50000}.mdl-textfield__error{color:#d50000;position:absolute;font-size:12px;margin-top:3px;visibility:hidden;display:block}.mdl-textfield.is-invalid .mdl-textfield__error{visibility:visible}.mdl-textfield__expandable-holder{position:relative;margin-left:32px;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-block;max-width:.1px}.mdl-textfield.is-dirty .mdl-textfield__expandable-holder,.mdl-textfield.is-focused .mdl-textfield__expandable-holder{max-width:600px}.mdl-textfield__expandable-holder .mdl-textfield__label:after{bottom:0}dialog{position:absolute;left:0;right:0;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;height:-moz-fit-content;height:-webkit-fit-content;height:fit-content;margin:auto;border:solid;padding:1em;background:#fff;color:#000;display:block}dialog:not([open]){display:none}dialog+.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000001a}._dialog_overlay{position:fixed;top:0;right:0;bottom:0;left:0}dialog.fixed{position:fixed;top:50%;transform:translateY(-50%)}.firebaseui-container{background-color:#fff;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;color:#000000de;direction:ltr;font:16px Roboto,arial,sans-serif;margin:0 auto;max-width:360px;overflow:visible;position:relative;text-align:left;width:100%}.firebaseui-container.mdl-card{overflow:visible}.firebaseui-card-header{padding:24px 24px 0}.firebaseui-card-content,.firebaseui-card-footer{padding:0 24px}.firebaseui-card-actions{box-sizing:border-box;display:table;font-size:14px;padding:8px 24px 24px;text-align:left;width:100%}.firebaseui-form-links{display:table-cell;vertical-align:middle;width:100%}.firebaseui-form-actions{display:table-cell;text-align:right;white-space:nowrap;width:100%}.firebaseui-subtitle,.firebaseui-title{color:#000000de;direction:ltr;font-size:20px;font-weight:500;line-height:24px;margin:0;padding:0;text-align:left}.firebaseui-title{padding-bottom:16px}.firebaseui-subtitle{margin:16px 0}.firebaseui-text{color:#000000de;direction:ltr;font-size:16px;line-height:24px;text-align:left}.firebaseui-id-page-password-recovery-email-sent p.firebaseui-text{margin:16px 0}.firebaseui-text-emphasis{font-weight:700}.firebaseui-error{color:#dd2c00;direction:ltr;font-size:12px;line-height:16px;margin:0;text-align:left}.firebaseui-text-input-error{margin:-16px 0 16px}.firebaseui-error-wrapper{min-height:16px}.firebaseui-list-item{direction:ltr;margin:0;padding:0;text-align:left}.firebaseui-hidden{display:none}.firebaseui-relative-wrapper{position:relative}.firebaseui-label{color:#0000008a;direction:ltr;font-size:16px;text-align:left}.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,.mdl-textfield--floating-label.is-focused .mdl-textfield__label{color:#757575}.firebaseui-input,.firebaseui-input-invalid{border-radius:0;color:#000000de;direction:ltr;font-size:16px;width:100%}input.firebaseui-input,input.firebaseui-input-invalid{direction:ltr;text-align:left}.firebaseui-input-invalid{border-color:#dd2c00}.firebaseui-textfield{width:100%}.firebaseui-textfield.mdl-textfield .firebaseui-input{border-color:#0000001f}.firebaseui-textfield.mdl-textfield .firebaseui-label:after{background-color:#3f51b5}.firebaseui-textfield-invalid.mdl-textfield .firebaseui-input{border-color:#dd2c00}.firebaseui-textfield-invalid.mdl-textfield .firebaseui-label:after{background-color:#dd2c00}.firebaseui-button{display:inline-block;height:36px;margin-left:8px;min-width:88px}.firebaseui-link{color:#4285f4;font-variant:normal;font-weight:400;text-decoration:none}.firebaseui-link:hover{text-decoration:underline}.firebaseui-indent{margin-left:1em}.firebaseui-tos{color:#757575;direction:ltr;font-size:12px;line-height:16px;margin-bottom:24px;margin-top:0;text-align:left}.firebaseui-provider-sign-in-footer>.firebaseui-tos{text-align:center}.firebaseui-tos-list{list-style:none;text-align:right}.firebaseui-inline-list-item{display:inline-block;margin-left:5px;margin-right:5px}.firebaseui-page-provider-sign-in,.firebaseui-page-select-tenant{background:inherit}.firebaseui-idp-list,.firebaseui-tenant-list{list-style:none;margin:1em 0;padding:0}.firebaseui-idp-button,.firebaseui-tenant-button{direction:ltr;font-weight:500;height:auto;line-height:normal;max-width:220px;min-height:40px;padding:8px 16px;text-align:left;width:100%}.firebaseui-idp-list>.firebaseui-list-item,.firebaseui-tenant-list>.firebaseui-list-item{margin-bottom:15px;text-align:center}.firebaseui-idp-icon-wrapper{display:table-cell;vertical-align:middle}.firebaseui-idp-icon{border:none;display:inline-block;height:18px;vertical-align:middle;width:18px}.firebaseui-idp-favicon{border:none;display:inline-block;height:14px;margin-right:5px;vertical-align:middle;width:14px}.firebaseui-idp-text{color:#fff;display:table-cell;font-size:14px;padding-left:16px;text-transform:none;vertical-align:middle}.firebaseui-idp-text.firebaseui-idp-text-long{display:table-cell}.firebaseui-idp-text.firebaseui-idp-text-short{display:none}@media (max-width:268px){.firebaseui-idp-text.firebaseui-idp-text-long{display:none}.firebaseui-idp-text.firebaseui-idp-text-short{display:table-cell}}@media (max-width:320px){.firebaseui-recaptcha-container>div>div{transform:scale(.9);-webkit-transform:scale(.9);transform-origin:0 0;-webkit-transform-origin:0 0}}.firebaseui-idp-google>.firebaseui-idp-text{color:#757575}[data-provider-id="yahoo.com"]>.firebaseui-idp-icon-wrapper>.firebaseui-idp-icon{height:22px;width:22px}.firebaseui-info-bar{background-color:#f9edbe;border:1px solid #f0c36d;box-shadow:0 2px 4px #0003;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2);-moz-box-shadow:0 2px 4px rgba(0,0,0,.2);left:10%;padding:8px 16px;position:absolute;right:10%;text-align:center;top:0}.firebaseui-info-bar-message{font-size:12px;margin:0}.firebaseui-dialog{box-sizing:border-box;color:#000000de;font:16px Roboto,arial,sans-serif;height:auto;max-height:fit-content;padding:24px;text-align:left}.firebaseui-dialog-icon-wrapper{display:table-cell;vertical-align:middle}.firebaseui-dialog-icon{float:left;height:40px;margin-right:24px;width:40px}.firebaseui-progress-dialog-message{display:table-cell;font-size:16px;font-weight:400;min-height:40px;vertical-align:middle}.firebaseui-progress-dialog-loading-icon{height:28px;margin:6px 30px 6px 6px;width:28px}.firebaseui-icon-done{background-image:url(https://www.gstatic.com/images/icons/material/system/2x/done_googgreen_36dp.png);background-position:center;background-repeat:no-repeat;background-size:36px 36px}.firebaseui-phone-number{display:flex}.firebaseui-country-selector{background-image:url(https://www.gstatic.com/images/icons/material/system/1x/arrow_drop_down_grey600_18dp.png);background-position:right center;background-repeat:no-repeat;background-size:18px auto;border-radius:0;border-bottom:1px solid rgba(0,0,0,.12);color:#000000de;flex-shrink:0;font-size:16px;font-weight:400;height:initial;line-height:normal;margin:20px 24px 20px 0;padding:4px 20px 4px 0;width:90px}.firebaseui-country-selector-flag{display:inline-block;margin-right:1ex}.firebaseui-flag{background-image:url(https://www.gstatic.com/firebasejs/ui/2.0.0/images/auth/flags_sprite_2x.png);background-size:100% auto;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.54));height:14px;width:24px}.firebaseui-list-box-dialog{max-height:90%;overflow:auto;padding:8px 0 0}.firebaseui-list-box-actions{padding-bottom:8px}.firebaseui-list-box-icon-wrapper{display:table-cell;padding-right:24px;vertical-align:top}.firebaseui-list-box-label-wrapper{display:table-cell;vertical-align:top}.firebaseui-list-box-dialog-button{color:#000000de;direction:ltr;font-size:16px;font-weight:400;height:initial;line-height:normal;min-height:48px;padding:14px 24px;text-align:left;text-transform:none;width:100%}.firebaseui-phone-number-error{margin-left:114px}.mdl-progress.firebaseui-busy-indicator{height:2px;left:0;position:absolute;top:55px;width:100%}.mdl-spinner.firebaseui-busy-indicator{direction:initial;height:56px;left:0;margin:auto;position:absolute;right:0;top:30%;width:56px}.firebaseui-callback-indicator-container .firebaseui-busy-indicator{top:0}.firebaseui-callback-indicator-container{height:120px}.firebaseui-new-password-component{display:inline-block;position:relative;width:100%}.firebaseui-input-floating-button{background-position:center;background-repeat:no-repeat;display:block;height:24px;position:absolute;right:0;top:20px;width:24px}.firebaseui-input-toggle-on{background-image:url(https://www.gstatic.com/images/icons/material/system/1x/visibility_black_24dp.png)}.firebaseui-input-toggle-off{background-image:url(https://www.gstatic.com/images/icons/material/system/1x/visibility_off_black_24dp.png)}.firebaseui-input-toggle-focus{opacity:.87}.firebaseui-input-toggle-blur{opacity:.38}.firebaseui-recaptcha-wrapper{display:table;margin:0 auto;padding-bottom:8px}.firebaseui-recaptcha-container{display:table-cell}.firebaseui-recaptcha-error-wrapper{caption-side:bottom;display:table-caption}.firebaseui-change-phone-number-link{display:block}.firebaseui-resend-container{direction:ltr;margin:20px 0;text-align:center}.firebaseui-id-resend-countdown{color:#00000061}.firebaseui-id-page-phone-sign-in-start .firebaseui-form-actions div{float:left}@media (max-width:480px){.firebaseui-container{box-shadow:none;max-width:none;width:100%}.firebaseui-card-header{border-bottom:1px solid #e0e0e0;margin-bottom:16px;padding:16px 24px 0}.firebaseui-title{padding-bottom:16px}.firebaseui-card-actions{padding-right:24px}.firebaseui-busy-indicator{top:0}}.mdl-textfield__label{font-weight:400;margin-bottom:0}.firebaseui-id-page-blank,.firebaseui-id-page-spinner{background:inherit;height:64px}.firebaseui-email-sent{background-image:url(https://www.gstatic.com/firebasejs/ui/2.0.0/images/auth/success_status.png);background-position:center;background-repeat:no-repeat;background-size:64px 64px;height:64px;margin-top:16px;text-align:center}.firebaseui-text-justify{text-align:justify}.firebaseui-flag-KY{background-position:0 0}.firebaseui-flag-AC{background-position:0 -14px}.firebaseui-flag-AE{background-position:0 -28px}.firebaseui-flag-AF{background-position:0 -42px}.firebaseui-flag-AG{background-position:0 -56px}.firebaseui-flag-AI{background-position:0 -70px}.firebaseui-flag-AL{background-position:0 -84px}.firebaseui-flag-AM{background-position:0 -98px}.firebaseui-flag-AO{background-position:0 -112px}.firebaseui-flag-AQ{background-position:0 -126px}.firebaseui-flag-AR{background-position:0 -140px}.firebaseui-flag-AS{background-position:0 -154px}.firebaseui-flag-AT{background-position:0 -168px}.firebaseui-flag-AU{background-position:0 -182px}.firebaseui-flag-AW{background-position:0 -196px}.firebaseui-flag-AX{background-position:0 -210px}.firebaseui-flag-AZ{background-position:0 -224px}.firebaseui-flag-BA{background-position:0 -238px}.firebaseui-flag-BB{background-position:0 -252px}.firebaseui-flag-BD{background-position:0 -266px}.firebaseui-flag-BE{background-position:0 -280px}.firebaseui-flag-BF{background-position:0 -294px}.firebaseui-flag-BG{background-position:0 -308px}.firebaseui-flag-BH{background-position:0 -322px}.firebaseui-flag-BI{background-position:0 -336px}.firebaseui-flag-BJ{background-position:0 -350px}.firebaseui-flag-BL{background-position:0 -364px}.firebaseui-flag-BM{background-position:0 -378px}.firebaseui-flag-BN{background-position:0 -392px}.firebaseui-flag-BO{background-position:0 -406px}.firebaseui-flag-BQ{background-position:0 -420px}.firebaseui-flag-BR{background-position:0 -434px}.firebaseui-flag-BS{background-position:0 -448px}.firebaseui-flag-BT{background-position:0 -462px}.firebaseui-flag-BV{background-position:0 -476px}.firebaseui-flag-BW{background-position:0 -490px}.firebaseui-flag-BY{background-position:0 -504px}.firebaseui-flag-BZ{background-position:0 -518px}.firebaseui-flag-CA{background-position:0 -532px}.firebaseui-flag-CC{background-position:0 -546px}.firebaseui-flag-CD{background-position:0 -560px}.firebaseui-flag-CF{background-position:0 -574px}.firebaseui-flag-CG{background-position:0 -588px}.firebaseui-flag-CH{background-position:0 -602px}.firebaseui-flag-CI{background-position:0 -616px}.firebaseui-flag-CK{background-position:0 -630px}.firebaseui-flag-CL{background-position:0 -644px}.firebaseui-flag-CM{background-position:0 -658px}.firebaseui-flag-CN{background-position:0 -672px}.firebaseui-flag-CO{background-position:0 -686px}.firebaseui-flag-CP{background-position:0 -700px}.firebaseui-flag-CR{background-position:0 -714px}.firebaseui-flag-CU{background-position:0 -728px}.firebaseui-flag-CV{background-position:0 -742px}.firebaseui-flag-CW{background-position:0 -756px}.firebaseui-flag-CX{background-position:0 -770px}.firebaseui-flag-CY{background-position:0 -784px}.firebaseui-flag-CZ{background-position:0 -798px}.firebaseui-flag-DE{background-position:0 -812px}.firebaseui-flag-DG{background-position:0 -826px}.firebaseui-flag-DJ{background-position:0 -840px}.firebaseui-flag-DK{background-position:0 -854px}.firebaseui-flag-DM{background-position:0 -868px}.firebaseui-flag-DO{background-position:0 -882px}.firebaseui-flag-DZ{background-position:0 -896px}.firebaseui-flag-EA{background-position:0 -910px}.firebaseui-flag-EC{background-position:0 -924px}.firebaseui-flag-EE{background-position:0 -938px}.firebaseui-flag-EG{background-position:0 -952px}.firebaseui-flag-EH{background-position:0 -966px}.firebaseui-flag-ER{background-position:0 -980px}.firebaseui-flag-ES{background-position:0 -994px}.firebaseui-flag-ET{background-position:0 -1008px}.firebaseui-flag-EU{background-position:0 -1022px}.firebaseui-flag-FI{background-position:0 -1036px}.firebaseui-flag-FJ{background-position:0 -1050px}.firebaseui-flag-FK{background-position:0 -1064px}.firebaseui-flag-FM{background-position:0 -1078px}.firebaseui-flag-FO{background-position:0 -1092px}.firebaseui-flag-FR{background-position:0 -1106px}.firebaseui-flag-GA{background-position:0 -1120px}.firebaseui-flag-GB{background-position:0 -1134px}.firebaseui-flag-GD{background-position:0 -1148px}.firebaseui-flag-GE{background-position:0 -1162px}.firebaseui-flag-GF{background-position:0 -1176px}.firebaseui-flag-GG{background-position:0 -1190px}.firebaseui-flag-GH{background-position:0 -1204px}.firebaseui-flag-GI{background-position:0 -1218px}.firebaseui-flag-GL{background-position:0 -1232px}.firebaseui-flag-GM{background-position:0 -1246px}.firebaseui-flag-GN{background-position:0 -1260px}.firebaseui-flag-GP{background-position:0 -1274px}.firebaseui-flag-GQ{background-position:0 -1288px}.firebaseui-flag-GR{background-position:0 -1302px}.firebaseui-flag-GS{background-position:0 -1316px}.firebaseui-flag-GT{background-position:0 -1330px}.firebaseui-flag-GU{background-position:0 -1344px}.firebaseui-flag-GW{background-position:0 -1358px}.firebaseui-flag-GY{background-position:0 -1372px}.firebaseui-flag-HK{background-position:0 -1386px}.firebaseui-flag-HM{background-position:0 -1400px}.firebaseui-flag-HN{background-position:0 -1414px}.firebaseui-flag-HR{background-position:0 -1428px}.firebaseui-flag-HT{background-position:0 -1442px}.firebaseui-flag-HU{background-position:0 -1456px}.firebaseui-flag-IC{background-position:0 -1470px}.firebaseui-flag-ID{background-position:0 -1484px}.firebaseui-flag-IE{background-position:0 -1498px}.firebaseui-flag-IL{background-position:0 -1512px}.firebaseui-flag-IM{background-position:0 -1526px}.firebaseui-flag-IN{background-position:0 -1540px}.firebaseui-flag-IO{background-position:0 -1554px}.firebaseui-flag-IQ{background-position:0 -1568px}.firebaseui-flag-IR{background-position:0 -1582px}.firebaseui-flag-IS{background-position:0 -1596px}.firebaseui-flag-IT{background-position:0 -1610px}.firebaseui-flag-JE{background-position:0 -1624px}.firebaseui-flag-JM{background-position:0 -1638px}.firebaseui-flag-JO{background-position:0 -1652px}.firebaseui-flag-JP{background-position:0 -1666px}.firebaseui-flag-KE{background-position:0 -1680px}.firebaseui-flag-KG{background-position:0 -1694px}.firebaseui-flag-KH{background-position:0 -1708px}.firebaseui-flag-KI{background-position:0 -1722px}.firebaseui-flag-KM{background-position:0 -1736px}.firebaseui-flag-KN{background-position:0 -1750px}.firebaseui-flag-KP{background-position:0 -1764px}.firebaseui-flag-KR{background-position:0 -1778px}.firebaseui-flag-KW{background-position:0 -1792px}.firebaseui-flag-AD{background-position:0 -1806px}.firebaseui-flag-KZ{background-position:0 -1820px}.firebaseui-flag-LA{background-position:0 -1834px}.firebaseui-flag-LB{background-position:0 -1848px}.firebaseui-flag-LC{background-position:0 -1862px}.firebaseui-flag-LI{background-position:0 -1876px}.firebaseui-flag-LK{background-position:0 -1890px}.firebaseui-flag-LR{background-position:0 -1904px}.firebaseui-flag-LS{background-position:0 -1918px}.firebaseui-flag-LT{background-position:0 -1932px}.firebaseui-flag-LU{background-position:0 -1946px}.firebaseui-flag-LV{background-position:0 -1960px}.firebaseui-flag-LY{background-position:0 -1974px}.firebaseui-flag-MA{background-position:0 -1988px}.firebaseui-flag-MC{background-position:0 -2002px}.firebaseui-flag-MD{background-position:0 -2016px}.firebaseui-flag-ME{background-position:0 -2030px}.firebaseui-flag-MF{background-position:0 -2044px}.firebaseui-flag-MG{background-position:0 -2058px}.firebaseui-flag-MH{background-position:0 -2072px}.firebaseui-flag-MK{background-position:0 -2086px}.firebaseui-flag-ML{background-position:0 -2100px}.firebaseui-flag-MM{background-position:0 -2114px}.firebaseui-flag-MN{background-position:0 -2128px}.firebaseui-flag-MO{background-position:0 -2142px}.firebaseui-flag-MP{background-position:0 -2156px}.firebaseui-flag-MQ{background-position:0 -2170px}.firebaseui-flag-MR{background-position:0 -2184px}.firebaseui-flag-MS{background-position:0 -2198px}.firebaseui-flag-MT{background-position:0 -2212px}.firebaseui-flag-MU{background-position:0 -2226px}.firebaseui-flag-MV{background-position:0 -2240px}.firebaseui-flag-MW{background-position:0 -2254px}.firebaseui-flag-MX{background-position:0 -2268px}.firebaseui-flag-MY{background-position:0 -2282px}.firebaseui-flag-MZ{background-position:0 -2296px}.firebaseui-flag-NA{background-position:0 -2310px}.firebaseui-flag-NC{background-position:0 -2324px}.firebaseui-flag-NE{background-position:0 -2338px}.firebaseui-flag-NF{background-position:0 -2352px}.firebaseui-flag-NG{background-position:0 -2366px}.firebaseui-flag-NI{background-position:0 -2380px}.firebaseui-flag-NL{background-position:0 -2394px}.firebaseui-flag-NO{background-position:0 -2408px}.firebaseui-flag-NP{background-position:0 -2422px}.firebaseui-flag-NR{background-position:0 -2436px}.firebaseui-flag-NU{background-position:0 -2450px}.firebaseui-flag-NZ{background-position:0 -2464px}.firebaseui-flag-OM{background-position:0 -2478px}.firebaseui-flag-PA{background-position:0 -2492px}.firebaseui-flag-PE{background-position:0 -2506px}.firebaseui-flag-PF{background-position:0 -2520px}.firebaseui-flag-PG{background-position:0 -2534px}.firebaseui-flag-PH{background-position:0 -2548px}.firebaseui-flag-PK{background-position:0 -2562px}.firebaseui-flag-PL{background-position:0 -2576px}.firebaseui-flag-PM{background-position:0 -2590px}.firebaseui-flag-PN{background-position:0 -2604px}.firebaseui-flag-PR{background-position:0 -2618px}.firebaseui-flag-PS{background-position:0 -2632px}.firebaseui-flag-PT{background-position:0 -2646px}.firebaseui-flag-PW{background-position:0 -2660px}.firebaseui-flag-PY{background-position:0 -2674px}.firebaseui-flag-QA{background-position:0 -2688px}.firebaseui-flag-RE{background-position:0 -2702px}.firebaseui-flag-RO{background-position:0 -2716px}.firebaseui-flag-RS{background-position:0 -2730px}.firebaseui-flag-RU{background-position:0 -2744px}.firebaseui-flag-RW{background-position:0 -2758px}.firebaseui-flag-SA{background-position:0 -2772px}.firebaseui-flag-SB{background-position:0 -2786px}.firebaseui-flag-SC{background-position:0 -2800px}.firebaseui-flag-SD{background-position:0 -2814px}.firebaseui-flag-SE{background-position:0 -2828px}.firebaseui-flag-SG{background-position:0 -2842px}.firebaseui-flag-SH{background-position:0 -2856px}.firebaseui-flag-SI{background-position:0 -2870px}.firebaseui-flag-SJ{background-position:0 -2884px}.firebaseui-flag-SK{background-position:0 -2898px}.firebaseui-flag-SL{background-position:0 -2912px}.firebaseui-flag-SM{background-position:0 -2926px}.firebaseui-flag-SN{background-position:0 -2940px}.firebaseui-flag-SO{background-position:0 -2954px}.firebaseui-flag-SR{background-position:0 -2968px}.firebaseui-flag-SS{background-position:0 -2982px}.firebaseui-flag-ST{background-position:0 -2996px}.firebaseui-flag-SV{background-position:0 -3010px}.firebaseui-flag-SX{background-position:0 -3024px}.firebaseui-flag-SY{background-position:0 -3038px}.firebaseui-flag-SZ{background-position:0 -3052px}.firebaseui-flag-TA{background-position:0 -3066px}.firebaseui-flag-TC{background-position:0 -3080px}.firebaseui-flag-TD{background-position:0 -3094px}.firebaseui-flag-TF{background-position:0 -3108px}.firebaseui-flag-TG{background-position:0 -3122px}.firebaseui-flag-TH{background-position:0 -3136px}.firebaseui-flag-TJ{background-position:0 -3150px}.firebaseui-flag-TK{background-position:0 -3164px}.firebaseui-flag-TL{background-position:0 -3178px}.firebaseui-flag-TM{background-position:0 -3192px}.firebaseui-flag-TN{background-position:0 -3206px}.firebaseui-flag-TO{background-position:0 -3220px}.firebaseui-flag-TR{background-position:0 -3234px}.firebaseui-flag-TT{background-position:0 -3248px}.firebaseui-flag-TV{background-position:0 -3262px}.firebaseui-flag-TW{background-position:0 -3276px}.firebaseui-flag-TZ{background-position:0 -3290px}.firebaseui-flag-UA{background-position:0 -3304px}.firebaseui-flag-UG{background-position:0 -3318px}.firebaseui-flag-UM{background-position:0 -3332px}.firebaseui-flag-UN{background-position:0 -3346px}.firebaseui-flag-US{background-position:0 -3360px}.firebaseui-flag-UY{background-position:0 -3374px}.firebaseui-flag-UZ{background-position:0 -3388px}.firebaseui-flag-VA{background-position:0 -3402px}.firebaseui-flag-VC{background-position:0 -3416px}.firebaseui-flag-VE{background-position:0 -3430px}.firebaseui-flag-VG{background-position:0 -3444px}.firebaseui-flag-VI{background-position:0 -3458px}.firebaseui-flag-VN{background-position:0 -3472px}.firebaseui-flag-VU{background-position:0 -3486px}.firebaseui-flag-WF{background-position:0 -3500px}.firebaseui-flag-WS{background-position:0 -3514px}.firebaseui-flag-XK{background-position:0 -3528px}.firebaseui-flag-YE{background-position:0 -3542px}.firebaseui-flag-YT{background-position:0 -3556px}.firebaseui-flag-ZA{background-position:0 -3570px}.firebaseui-flag-ZM{background-position:0 -3584px}.firebaseui-flag-ZW{background-position:0 -3598px}.auth-container{display:block;padding:20px;max-width:400px;margin:0 auto}.auth-user-info{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.user-name{font-weight:500;color:#495057;font-size:.9rem}.auth-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem}.auth-content{max-width:1200px;width:100%;margin:0 auto}.hero-description{font-size:1.25rem;margin-bottom:2rem;color:#ffffffe6;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}h2.hero-subtitle{font-size:2.5rem;font-weight:600;margin-bottom:1.5rem;color:#fff;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.3}.sign-in-section{text-align:center;margin:3rem 0}.sign-in-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:3rem;max-width:500px;margin:0 auto;transition:transform .3s ease,box-shadow .3s ease}.sign-in-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0003}.sign-in-card h3{font-size:2rem;font-weight:600;margin-bottom:1rem;color:#fff}.sign-in-card p{color:#fffc;line-height:1.6;margin-bottom:2rem;font-size:1.1rem}.login-container{margin-top:1.5rem}.features-section{text-align:center;margin-top:4rem}.features-section h3{font-size:2rem;font-weight:600;margin-bottom:2rem;color:#fff}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:800px;margin:0 auto}.landing-feature-item{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:1rem;display:flex;align-items:center;gap:1rem;text-align:left;transition:all .3s ease}.feature-item:hover{background:#fff3;transform:translateY(-2px)}.feature-icon{font-size:2rem;flex-shrink:0}.feature-text{display:flex;flex-direction:column}.feature-text span{font-weight:600;color:#fff;font-size:1.1rem;margin-bottom:.25rem}.feature-text small{color:#fffc;font-size:.9rem}.firebaseui-container{background-color:transparent!important;box-shadow:none!important}.firebaseui-card-content{padding:0!important}.firebaseui-idp-button{max-width:100%!important;margin:8px 0!important;background:linear-gradient(45deg,#667eea,#764ba2)!important;border:none!important;border-radius:25px!important;padding:1rem 2rem!important;font-size:1rem!important;font-weight:600!important;color:#fff!important;transition:all .3s ease!important;box-shadow:0 4px 15px #0003!important;text-decoration:none!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important}.firebaseui-idp-button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 25px #0000004d!important;background:linear-gradient(45deg,#5a6fd8,#6a4190)!important}.firebaseui-idp-button:active{transform:translateY(0)!important;box-shadow:0 4px 15px #0003!important}.firebaseui-idp-button *{color:#fff!important;fill:#fff!important}.firebaseui-idp-text{color:#fff!important;font-weight:600!important;font-size:1rem!important}.firebaseui-idp-icon{filter:brightness(0) invert(1)!important}.firebaseui-idp-list{margin:0!important;padding:0!important;list-style:none!important}.firebaseui-idp-list li{margin:0!important;padding:0!important}@media (max-width: 768px){.auth-page,.auth-content{padding:1rem}.features-grid{grid-template-columns:1fr}.feature-item,.login-section{padding:1rem}}.footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:2rem 0;margin-top:auto;width:100%}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-links{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.footer-link{color:#6c757d;text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s ease}.footer-link:hover{color:#646cff;text-decoration:underline}.footer-separator{color:#6c757d;font-size:.9rem}.footer-copyright{color:#6c757d;font-size:.85rem;text-align:center}@media (max-width: 768px){.footer{padding:1.5rem 0}.footer-content{padding:0 1rem}.footer-links{gap:.75rem}.footer-link{font-size:.85rem}.footer-copyright{font-size:.8rem}}@media (max-width: 480px){.footer{padding:1rem 0}.footer-content{padding:0 .5rem}.footer-links{gap:.5rem}.footer-link{font-size:.8rem}.footer-copyright{font-size:.75rem}}.media-library-page{height:calc(100vh - 60px);background:#f5f5f5;display:flex;flex-direction:column;position:relative}.media-library-page.collapsed{width:120px;overflow:hidden}.media-library{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;min-height:0;padding-bottom:20px;position:relative}.media-library-toggle-container{position:absolute;display:flex;flex-direction:row;align-items:center;gap:4px;z-index:10;background:none;border:none;cursor:pointer;padding:0;transition:all .3s ease}.media-library-toggle-container:hover{transform:translateY(-1px)}.media-library-toggle-container:focus{outline:none;box-shadow:0 0 0 2px #667eea4d;border-radius:8px}.media-library-toggle-text{writing-mode:horizontal-tb;text-orientation:mixed;color:#667eea;font-size:10px;font-weight:600;letter-spacing:.5px;white-space:nowrap;background:#fffffff2;padding:4px 6px;border-radius:4px;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(102,126,234,.2);transition:all .3s ease}.media-library-toggle-container:hover .media-library-toggle-text{background:#fff;box-shadow:0 2px 6px #00000026}.media-library-toggle{width:24px;height:24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;transition:all .3s ease;flex-shrink:0}.media-library-toggle-container:hover .media-library-toggle{transform:scale(1.05);box-shadow:0 4px 8px #0000004d}.media-library-toggle svg{transition:transform .3s ease}.media-library-content{flex:1;display:flex;flex-direction:column;transition:all .3s ease;opacity:1;transform:translate(0)}.media-library-content.collapsed{opacity:0;transform:translate(-100%);pointer-events:none}.media-library-header{padding:30px 20px 10px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.media-library-header h2{margin:0;color:#333}.header-content{display:flex;align-items:center;gap:20px}.media-count{color:#666;font-size:14px}.search-results-info{font-weight:500}.media-grid-container{flex:1;min-height:0;padding:20px;position:relative;overflow:auto;max-height:calc(100vh - 300px);width:100%;box-sizing:border-box}.media-grid-container::-webkit-scrollbar{width:6px;height:6px}.media-grid-container::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:6px}.media-grid-container::-webkit-scrollbar-track{background:transparent}.media-grid-container{scrollbar-width:thin;scrollbar-color:#e0e0e0 transparent}.media-grid{outline:none}.media-grid-fallback{display:grid;gap:8px;padding:10px;width:100%;height:100%;overflow:auto;align-content:start}.media-grid-fallback>div{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.media-item{position:relative;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.media-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.media-item.selected{border-color:#2196f3}.media-item.in-album{cursor:not-allowed;opacity:.8}.media-item.in-album:hover{transform:none;box-shadow:0 2px 4px #0000001a}.media-item.standalone{cursor:default}.media-item-actions{position:absolute;top:8px;left:8px;right:8px;display:flex;justify-content:space-between;opacity:0;transition:opacity .2s}.media-item:hover .media-item-actions{opacity:1}.media-item-actions button{width:32px;height:32px;border:none;border-radius:50%;background:#ffffffe6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background-color .2s;box-shadow:0 2px 4px #0000001a}.media-item-actions button:hover{background:#fff;box-shadow:0 2px 6px #00000026}.media-item-actions .view-button:hover{background:#e3f2fd}.media-item-actions .delete-button:hover{background:#ffebee}.thumbnail-container{width:100%;height:140px;background:#f8f8f8;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border-radius:8px;flex:1}.thumbnail{width:100%;height:100%;object-fit:cover}.media-name-overlay{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:4px 8px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;z-index:5}.media-name{padding:8px;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.selection-overlay{position:absolute;top:5px;left:5px;background:#2196f31a;display:flex;align-items:center;justify-content:center}.selection-checkmark{background:#2196f3;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}.in-album-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;pointer-events:none}.in-album-badge{background:#28a745e6;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500}.media-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{position:relative;background:#fff;padding:20px;border-radius:8px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.close-button{position:absolute;top:10px;right:10px;background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:5px;line-height:1}.close-button:hover{color:#333}.preview-image{max-width:100%;max-height:80vh;object-fit:contain}.preview-name{margin-top:10px;color:#333;font-size:14px}.delete-button{padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.delete-button:hover{background:#c82333}.loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:16px;color:#666}.spinner{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #2196f3;border-radius:50%;animation:spin 1s linear infinite}.thumbnail-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f0f0f0;gap:8px}.loading-text{font-size:12px;color:#666;text-align:center}.retry-thumbnail-button{background:#007bff;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:11px;cursor:pointer;transition:background-color .2s}.retry-thumbnail-button:hover{background:#0056b3}.describe-image-button{background:#28a745;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:11px;cursor:pointer;transition:background-color .2s;margin-top:4px}.describe-image-button:hover{background:#1e7e34}.analysis-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.thumbnail-actions-overlay{position:absolute;top:8px;right:8px;z-index:10}.media-actions{padding:10px;display:flex;gap:8px;justify-content:center}.media-actions button{padding:6px 12px;border:none;border-radius:4px;background:#007bff;color:#fff;cursor:pointer;font-size:14px;transition:background .2s ease}.media-actions button:hover{background:#0056b3}.media-actions button:last-child{background:#dc3545}.media-actions button:last-child:hover{background:#c82333}.media-info{padding:8px;background:#f8f9fa;border-top:1px solid #e9ecef}.media-date{font-size:12px;color:#6c757d}.loading-more{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:10px}.loading-more .spinner{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.loading-more p{color:#666;margin:0}.thumbnail-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background:#fffc}.media-item .thumbnail{max-width:180px;max-height:150px;width:auto;height:auto;object-fit:contain}.media-item video.thumbnail{max-width:180px;max-height:150px;width:auto;height:auto;object-fit:contain;background:#f0f0f0}.search-section{margin:0 20px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 6px #0000001a}.search-form{display:flex;gap:1rem;align-items:center}.search-input-group{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:#666;z-index:2}.search-input{flex:1;padding:.75rem 1rem .75rem 2.5rem;border:none;border-radius:8px;font-size:1rem;background:#fffffff2;color:#333;font-family:inherit;line-height:1.4}.search-input:focus{outline:none;background:#fff;box-shadow:0 0 0 2px #ffffff4d}.search-input::placeholder{color:#666}.search-button{padding:.75rem 1.5rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:44px}.search-button:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.search-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.search-button svg{flex-shrink:0}.clear-search-button{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;padding:.75rem 1rem;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:44px}.clear-search-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.clear-search-button svg{flex-shrink:0}.spinner-icon{animation:spin 1s linear infinite}.standalone-actions{display:flex;gap:10px}@media (max-width: 768px){.search-section{margin:0 10px 15px;padding:1rem}.search-form{flex-direction:column;gap:1rem}.search-button,.clear-search-button{width:100%;justify-content:center}.media-library-page{height:auto;min-height:60px}.media-library-page.collapsed{width:100%;height:60px}.media-library{height:auto;min-height:60px}.media-library-content.collapsed{opacity:0;transform:translateY(-100%);height:0;overflow:hidden}.media-library-toggle{top:15px;right:15px}.media-library-toggle-container{top:15px;right:15px;flex-direction:row;gap:4px}.media-library-toggle-text{writing-mode:horizontal-tb;text-orientation:mixed;font-size:12px;padding:6px 8px}}.media-library-detail-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 6px #0000001a;margin-bottom:20px}.media-library-detail-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.media-library-detail-header-left{display:flex;flex-direction:column;gap:.5rem}.media-library-detail-header h2{margin:0;font-size:1.8rem;color:#fff;font-weight:600}.media-library-detail-count{background:#fff3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(255,255,255,.3);align-self:flex-start}.media-library-detail-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.media-library-detail-action-button{padding:.75rem 1rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:44px}.media-library-detail-action-button:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.media-library-detail-action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.media-library-detail-action-button svg{flex-shrink:0}.media-library-detail-action-button.select-all-button:hover{background:#28a7454d;border-color:#28a74580}.media-library-detail-action-button.clear-selection-button:hover{background:#6c757d4d;border-color:#6c757d80}.media-library-detail-header-content{flex-direction:row;align-items:center;gap:1rem}.media-library-detail-actions{flex-direction:row;gap:8px;flex-wrap:wrap}.media-library-detail-action-button{min-width:120px}.media-library-detail-header h2{font-size:1.5rem}@media (max-width: 768px){.media-grid-container{padding:10px;max-height:calc(100vh - 200px)}.media-item,.thumbnail{min-width:100px;min-height:100px}.media-library-detail-header{padding:1rem;margin-bottom:15px}.media-library-detail-header-content{flex-direction:column;align-items:flex-start;gap:.75rem}.media-library-detail-actions{width:100%;justify-content:flex-start}.media-library-detail-action-button{min-width:auto;flex:1;justify-content:center}}@media (max-width: 480px){.media-grid-container{padding:5px;max-height:calc(100vh - 150px)}.media-item,.thumbnail{min-width:80px;min-height:80px}.media-library-detail-header{padding:.75rem;margin-bottom:10px}.media-library-detail-header h2{font-size:1.3rem}.media-library-detail-action-button{font-size:.8rem;padding:.5rem .75rem;min-height:36px}}.selected-images-carousel{margin:0 20px 20px;padding:20px;background:#000;border-radius:8px;border:1px solid #333;flex-shrink:0;position:sticky;bottom:0;z-index:10;color:#fff;transition:all .3s ease}.selected-images-carousel.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;border-radius:0;border:none;z-index:1000;background:#000000f2;display:flex;flex-direction:column}.selected-images-carousel.album-context{margin-top:20px;background:#000;box-shadow:0 4px 8px #0000004d;overflow:hidden;position:static}.selected-images-carousel.album-context.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;border-radius:0;border:none;z-index:1000;background:#000000f2;display:flex;flex-direction:column}.carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:15px 20px;background:#000c;border-bottom:1px solid #333}.carousel-header h3{margin:0;color:#fff;font-size:16px;font-weight:600}.carousel-header-actions{display:flex;align-items:center;gap:8px}.carousel-header-actions .add-to-album-button{padding:6px 12px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s;white-space:nowrap;margin-top:0}.carousel-header-actions .add-to-album-button:hover{background:#0056b3}.carousel-header-actions .delete-selected-button{padding:6px 12px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s;white-space:nowrap}.carousel-header-actions .delete-selected-button:hover{background:#c82333}.carousel-header-actions .remove-selected-button{padding:6px 12px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s;white-space:nowrap}.carousel-header-actions .remove-selected-button:hover{background:#5a6268}.fullscreen-toggle-button{width:32px;height:32px;border:none;border-radius:6px;background:#000000b3;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;padding:0}.fullscreen-toggle-button:hover{background:#000000e6}.clear-selection-x{width:32px;height:32px;border:none;border-radius:6px;background:#000000b3;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;padding:0 0 4px}.clear-selection-x:hover{background:#000000e6}.clear-selection-x.album-context{background:#000000b3;color:#fff;font-size:24px;padding:0 0 4px;border-radius:4px;transition:all .2s}.clear-selection-x.album-context:hover{background:#000000e6;color:#fff}.carousel-container{position:relative;display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:20px;min-height:200px;background:#000;border-radius:8px;flex:1}.selected-images-carousel.fullscreen .carousel-container{flex:1;min-height:0;padding:40px;background:transparent}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#000000b3;border:none;color:#fff;font-size:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:10;padding:0 0 4px;border-radius:8px}.carousel-nav:hover:not(:disabled){background:#000000e6}.carousel-nav:disabled{opacity:.5;cursor:not-allowed}.carousel-nav.prev{left:16px}.carousel-nav.next{right:16px}.selected-images-carousel.fullscreen .carousel-nav{width:64px;height:64px;font-size:40px}.selected-images-carousel.fullscreen .carousel-nav.prev{left:32px}.selected-images-carousel.fullscreen .carousel-nav.next{right:32px}.carousel-nav.album-context{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;border-radius:8px;font-size:32px;transition:all .3s ease;z-index:2;min-width:48px;min-height:48px;padding:0 0 4px}.carousel-nav.album-context.prev{left:16px}.carousel-nav.album-context.next{right:16px}.carousel-nav.album-context:hover:not(:disabled){background:#000000e6;transform:translateY(-50%) scale(1.1)}.carousel-nav.album-context:disabled{opacity:.5;cursor:not-allowed}.carousel-images{flex:1;overflow:hidden;position:relative;height:200px;border-radius:8px;background:#000;display:flex;align-items:center;justify-content:center}.selected-images-carousel.fullscreen .carousel-images{height:100%;background:transparent}.carousel-images.album-context{display:flex;gap:15px;overflow-x:auto;scroll-behavior:smooth;padding:0 50px;scrollbar-width:none;-ms-overflow-style:none;height:auto;background:transparent}.carousel-images.album-context::-webkit-scrollbar{display:none}.carousel-image{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.selected-images-carousel.fullscreen .carousel-image{height:100%}.carousel-image.album-context{flex:0 0 150px;position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;height:auto}.carousel-image img{max-height:160px;max-width:100%;object-fit:contain;border-radius:4px}.selected-images-carousel.fullscreen .carousel-image img{max-height:80vh;max-width:90vw;object-fit:contain}.carousel-image.album-context img{width:100%;height:150px;object-fit:cover;border-radius:8px}.carousel-image-name{margin-top:8px;font-size:12px;color:#666;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-images-carousel.fullscreen .carousel-image-name{position:absolute;bottom:0;left:0;right:0;background:#000c;color:#fff;padding:16px;font-size:14px;margin-top:0}.carousel-image-name.album-context{position:absolute;bottom:0;left:0;right:0;background:#000c;color:#fff;padding:8px;font-size:11px;text-align:center;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.carousel-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666;font-size:14px;text-align:center;padding:20px}.selected-images-carousel.fullscreen .carousel-image-placeholder{color:#fff;font-size:18px;padding:40px}.carousel-image-placeholder.album-context{background:#000c;color:#fff;border-radius:8px;padding:30px}.carousel-image-placeholder .spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.selected-images-carousel.fullscreen .carousel-image-placeholder .spinner{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #007bff;margin-bottom:20px}.carousel-image-placeholder.album-context .spinner{border-top-color:#fff;margin-bottom:15px}.carousel-loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#666;text-align:center}.carousel-loading-message .spinner{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.carousel-dots{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;justify-content:center;gap:6px;z-index:5}.selected-images-carousel.fullscreen .carousel-dots{bottom:40px;gap:8px}.carousel-dot{padding:0;width:12px;height:6px;border:none;border-radius:3px;background:#ffffff80;cursor:pointer;transition:background-color .2s;box-shadow:none}button.carousel-dot{min-height:18px}.carousel-dot.active{background:#fff}.carousel-dot:hover{background:#fffc}.file-upload-container{margin:20px 0}.drop-area{border:2px dashed #ccc;border-radius:8px;padding:20px;margin:0 20px 15px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9fa}.drop-area.processing,.drop-area.uploading{border-color:#007bff;background:#f1f8ff;cursor:not-allowed}.drop-area.completed{border-color:#28a745;background:#f8fff9}.drop-area.error{border-color:#dc3545;background:#fff8f8}.drop-area.focus-upload{border-color:#007bff;background:linear-gradient(135deg,#f1f8ff,#e3f2fd);box-shadow:0 0 0 3px #007bff40;animation:focus-pulse 2s ease-in-out infinite}@keyframes focus-pulse{0%,to{box-shadow:0 0 0 3px #007bff40}50%{box-shadow:0 0 0 6px #007bff26}}.overall-progress-bar{width:100%;max-width:300px;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;margin-top:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#007bff,#0056b3);transition:width .3s ease;border-radius:4px}.upload-progress-list{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px;margin-top:15px;box-shadow:0 2px 4px #0000001a;max-height:300px;overflow-y:auto;overflow-x:hidden}.upload-progress-list::-webkit-scrollbar{width:6px}.upload-progress-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.upload-progress-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.upload-progress-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.upload-progress-list{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1}.upload-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #e9ecef}.upload-progress-header h4{margin:0;color:#333;font-size:16px;font-weight:600}.clear-progress-button{background:#6c757d;color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.clear-progress-button:hover{background:#5a6268}.upload-progress-item{padding:12px;border-radius:6px;margin-bottom:10px;background:#f8f9fa;border:1px solid #e9ecef;transition:all .2s ease}.upload-progress-item:last-child{margin-bottom:0}.upload-progress-item.pending{background:#fff3cd;border-color:#ffeaa7}.upload-progress-item.uploading{background:#d1ecf1;border-color:#bee5eb}.upload-progress-item.describing{background:#e2e3e5;border-color:#d6d8db}.upload-progress-item.completed{background:#d4edda;border-color:#c3e6cb}.upload-progress-item.error{background:#f8d7da;border-color:#f5c6cb}.file-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.file-name{font-weight:500;color:#333;font-size:14px;flex:1;margin-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-status{font-size:12px;font-weight:500;min-width:80px;text-align:right}.upload-progress-item.pending .file-status{color:#856404}.upload-progress-item.uploading .file-status{color:#0c5460}.upload-progress-item.describing .file-status{color:#6c757d}.upload-progress-item.completed .file-status{color:#155724}.upload-progress-item.error .file-status{color:#721c24}.progress-bar{width:100%;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden;margin-bottom:8px}.upload-progress-item .progress-fill{height:100%;transition:width .3s ease;border-radius:3px}.upload-progress-item.pending .progress-fill{background:#ffc107}.upload-progress-item.uploading .progress-fill{background:linear-gradient(90deg,#17a2b8,#138496)}.upload-progress-item.describing .progress-fill{background:linear-gradient(90deg,#6c757d,#5a6268)}.upload-progress-item.completed .progress-fill{background:linear-gradient(90deg,#28a745,#1e7e34)}.upload-progress-item.error .progress-fill{background:#dc3545}.error-info{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid #f5c6cb}.error-message{color:#721c24;font-size:12px;flex:1;margin-right:10px}.retry-button{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:11px;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.retry-button:hover{background:#c82333}@media (max-width: 768px){.upload-progress-list{max-height:250px}.file-info{flex-direction:column;align-items:flex-start;gap:4px}.file-name{margin-right:0;margin-bottom:4px}.file-status{text-align:left;min-width:auto}.error-info{flex-direction:column;align-items:flex-start;gap:8px}.error-message{margin-right:0}.upload-progress-header{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.upload-progress-list{max-height:200px}}.albums-grid-view{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a}.albums-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 6px #0000001a;margin-bottom:30px}.albums-header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.albums-header-left{display:flex;flex-direction:column;gap:.5rem}.albums-header h2{margin:0;font-size:1.8rem;color:#fff;font-weight:600}.albums-count{background:#fff3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(255,255,255,.3);align-self:flex-start}.albums-header-actions{display:flex;gap:10px;flex-wrap:wrap}.albums-action-button{padding:.75rem 1rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:44px}.albums-action-button:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.albums-action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.albums-action-button svg{flex-shrink:0}.albums-action-button.create-button:hover{background:#28a7454d;border-color:#28a74580}.albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-top:20px}.album-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;cursor:pointer;transition:all .3s ease;border:1px solid #e0e0e0}.album-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.album-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 15px;border-bottom:1px solid #f0f0f0}.album-card-header h3{margin:0;font-size:1.3rem;color:#333;font-weight:600;line-height:1.3;flex:1;padding-right:10px}.album-preview-images{padding:20px;min-height:200px;display:flex;align-items:center;justify-content:center}.album-images-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;max-width:240px}.album-preview-image{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f0f0f0}.album-preview-image img{width:100%;height:100%;object-fit:cover;display:block}.more-images-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.album-image-placeholder{aspect-ratio:1;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.9rem;text-align:center;padding:10px}.album-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;font-size:.9rem;gap:8px}.empty-icon{font-size:2rem;opacity:.5}.album-card-footer{padding:15px 20px 20px;border-top:1px solid #f0f0f0;background:#f8f9fa}.album-info{display:flex;flex-direction:column;gap:5px}.album-date{font-size:.85rem;color:#666}.no-albums{display:flex;align-items:center;justify-content:center;min-height:400px}.no-albums-content{text-align:center;color:#666;transition:all .3s ease}.no-albums-content.clickable{cursor:pointer;padding:30px;border-radius:12px;background:#fff;box-shadow:0 4px 6px #0000001a;border:2px solid transparent;transition:all .3s ease}.no-albums-content.clickable:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;border-color:#667eea;background:linear-gradient(135deg,#f8f9ff,#f0f2ff)}.no-albums-content.clickable:hover .no-albums-icon{opacity:.8;transform:scale(1.05)}.no-albums-content.clickable:hover h2{color:#667eea}.no-albums-icon{font-size:4rem;margin-bottom:20px;opacity:.5;transition:all .3s ease}.no-albums h2{font-size:1.8rem;color:#333;margin:0 0 10px;transition:color .3s ease}.no-albums p{font-size:1.1rem;margin:0}@media (max-width: 768px){.albums-grid-view{padding:20px}.albums-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.albums-header-actions{flex-direction:column;width:100%;gap:8px}.albums-action-button{width:100%;justify-content:center}.albums-header h2{font-size:1.5rem}.albums-grid{grid-template-columns:1fr;gap:16px}.album-card-header{padding:15px 15px 10px}.album-card-header h3{font-size:1.1rem}.album-preview-images{padding:15px;min-height:150px}.album-card-footer{padding:10px 15px 15px}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:.8rem;font-weight:500;opacity:.9}.download-album-button{background:#2196f3;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:14px;cursor:pointer;transition:background-color .2s}.download-album-button:hover{background:#1976d2}.download-album-button:disabled{background:#ccc;cursor:not-allowed}.carousel .control-arrow,.carousel.carousel-slider .control-arrow{-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;opacity:.4;filter:alpha(opacity=40);position:absolute;z-index:2;top:20px;background:none;border:0;font-size:32px;cursor:pointer}.carousel .control-arrow:focus,.carousel .control-arrow:hover{opacity:1;filter:alpha(opacity=100)}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{margin:0 5px;display:inline-block;border-top:8px solid transparent;border-bottom:8px solid transparent;content:""}.carousel .control-disabled.control-arrow{opacity:0;filter:alpha(opacity=0);cursor:inherit;display:none}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{width:100%;display:inline-block;pointer-events:none}.carousel .carousel{position:relative}.carousel .control-arrow{outline:0;border:0;background:none;top:50%;margin-top:-13px;font-size:18px}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translateZ(0);position:relative;list-style:none;white-space:nowrap}.carousel .thumb{-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;display:inline-block;margin-right:6px;white-space:nowrap;overflow:hidden;border:3px solid #fff;padding:2px}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{position:relative;margin:0;overflow:hidden}.carousel.carousel-slider .control-arrow{top:0;color:#fff;font-size:26px;bottom:0;margin-top:0;padding:5px}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{overflow:hidden;margin:auto;width:100%;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{margin:0;padding:0;position:relative;list-style:none;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{min-width:100%;margin:0;position:relative;text-align:center}.carousel .slide img{width:100%;vertical-align:top;border:0}.carousel .slide iframe{display:inline-block;width:calc(100% - 80px);margin:0 40px 40px;border:0}.carousel .slide .legend{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;position:absolute;bottom:40px;left:50%;margin-left:-45%;width:90%;border-radius:10px;background:#000;color:#fff;padding:10px;font-size:12px;text-align:center;opacity:.25;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out}.carousel .control-dots{position:absolute;bottom:0;margin:10px 0;padding:0;text-align:center;width:100%;z-index:1}@media (min-width: 960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;opacity:.3;filter:alpha(opacity=30);box-shadow:1px 1px 2px #000000e6;background:#fff;border-radius:50%;width:8px;height:8px;cursor:pointer;display:inline-block;margin:0 8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{opacity:1;filter:alpha(opacity=100)}.carousel .carousel-status{position:absolute;top:0;right:0;padding:5px;font-size:10px;text-shadow:1px 1px 1px rgba(0,0,0,.9);color:#fff}.carousel:hover .slide .legend{opacity:1}.album-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:1000}.album-preview-content{width:90vw;height:90vh;position:relative;background:#000;border-radius:8px;overflow:hidden}.close-preview-button{position:absolute;top:16px;right:16px;background:#000000b3;border:none;color:#fff;width:32px;height:32px;font-size:24px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background-color .2s;padding:0 0 4px}.close-preview-button:hover{background:#000000e6}.carousel-slide{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.carousel-slide img{max-height:80vh;max-width:100%;object-fit:contain}.slide-info{position:absolute;bottom:0;left:0;right:0;background:#000c;color:#fff;padding:16px;text-align:center}.slide-number{font-size:.9em;margin-bottom:4px}.slide-reason{font-size:1.1em}.album-carousel .carousel .slide{background:#000}.album-carousel .carousel .control-dots{bottom:80px}.album-carousel .carousel .control-dots .dot{background:#ffffff80;box-shadow:none}.album-carousel .carousel .control-dots .dot.selected{background:#fff}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#000000b3;border:none;color:#fff;font-size:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:10;padding:0 0 4px}.carousel-arrow:hover{background:#000000e6}.carousel-arrow-prev{left:16px}.carousel-arrow-next{right:16px}.album-carousel .carousel .control-arrow{display:none}.album-detail-view{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a}.album-detail-back-section{margin-bottom:20px}.back-to-albums-button{background:#6c757d;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0}.back-to-albums-button:hover{background:#5a6268;transform:translate(-2px)}.back-to-albums-button svg{transition:transform .3s ease}.back-to-albums-button:hover svg{transform:translate(-2px)}.album-detail-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 6px #0000001a;margin-bottom:20px}.album-detail-header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.album-detail-header-left{display:flex;flex-direction:column;gap:.5rem}.album-detail-header h2{margin:0;font-size:1.8rem;color:#fff;font-weight:600}.album-detail-photo-count{background:#fff3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(255,255,255,.3);align-self:flex-start}.album-detail-actions{display:flex;gap:10px;flex-wrap:wrap}.album-detail-action-button{padding:.75rem 1rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:44px}.album-detail-action-button:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.album-detail-action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.album-detail-action-button svg{flex-shrink:0}.album-detail-action-button.preview-button:hover{background:#17a2b84d;border-color:#17a2b880}.album-detail-action-button.edit-button:hover{background:#28a7454d;border-color:#28a74580}.album-detail-action-button.download-button:hover{background:#ffc1074d;border-color:#ffc10780}.album-detail-action-button.delete-button:hover{background:#dc35454d;border-color:#dc354580}.album-images{display:grid;gap:20px;margin-top:20px}.album-image{position:relative;margin:10px;background:#f5f5f5;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.album-image:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.album-image img{width:100%;max-width:200px;height:200px;object-fit:cover;display:block;margin:0 auto}.drag-handle{position:absolute;top:8px;right:8px;width:24px;height:24px;background:#ffffffe6;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:grab;z-index:2;font-size:16px;color:#666;-webkit-user-select:none;user-select:none}.album-image[data-dragging=true]{opacity:.5;transform:scale(1.05);z-index:1}.album-image[data-dragging=true] .drag-handle{cursor:grabbing}.album-image.selected{border-color:#007bff;box-shadow:0 2px 4px #0000001a}.image-selection-overlay{position:absolute;top:8px;left:8px;width:24px;height:24px;background:#ffffffe6;border-radius:4px;display:flex;align-items:center;justify-content:center;z-index:2}.selection-checkmark{color:#fff;font-size:16px;font-weight:700}.remove-images-button{background-color:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-right:10px;transition:background-color .2s ease}.remove-images-button:hover{background-color:#c82333}.image-info{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:10px}.image-order{font-weight:700;margin-bottom:5px}.image-reason{font-size:14px;opacity:.9}.album-chat-history{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:30px}.chat-timeline{display:flex;flex-direction:column;gap:15px;margin-top:15px}.chat-message{background:#fff;border-radius:8px;padding:15px;box-shadow:0 1px 3px #0000001a;position:relative}.chat-message:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);border-style:solid;border-width:10px 10px 10px 0;border-color:transparent white transparent transparent}.chat-message-content{font-size:14px;line-height:1.5;color:#333;margin-bottom:8px}.chat-message-time{font-size:12px;color:#666;font-style:italic}.album-adjust-section{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.album-adjust-form{display:flex;gap:15px;align-items:flex-end}.album-adjust-input{flex:1;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;resize:vertical;min-height:60px}.album-adjust-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.album-adjust-button{background:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s;white-space:nowrap}.album-adjust-button:hover{background:#0056b3}.album-adjust-button:disabled{background:#6c757d;cursor:not-allowed}.preview-album-button,.edit-album-button,.delete-album-button,.download-album-button,.save-album-button,.clear-selection-button,.toggle-chat-button{display:none}.sortable-media-grid-container{width:100%;height:600px;min-height:400px}.sortable-media-grid{width:100%;height:100%}.album-detail-grid-images{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:600px}.media-grid-container,.media-grid{width:100%;height:100%}.empty-album-message{text-align:center;padding:40px;color:#666;font-size:16px;background:#f8f9fa;border-radius:6px;border:2px dashed #ddd}.loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.2rem;color:#666}.error{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.2rem;color:#dc3545;text-align:center;padding:20px}@media (max-width: 768px){.album-detail-view{padding:20px}.album-detail-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.album-detail-actions{flex-direction:column;width:100%;gap:8px}.album-detail-action-button{width:100%;justify-content:center}.album-detail-header h2{font-size:1.5rem}.album-adjust-form{flex-direction:column;gap:12px}.album-adjust-button{width:100%}.album-detail-view{width:100%;max-width:100%;box-sizing:border-box}.album-detail-grid-images{padding:0 10px;height:auto;min-height:400px}.media-grid-container{padding:10px}}@media (max-width: 480px){.album-detail-view{padding:15px}.album-detail-header{padding:1rem;margin-bottom:15px}.album-detail-header h2{font-size:1.3rem}.album-detail-action-button{font-size:.8rem;padding:.5rem .75rem;min-height:36px}.album-detail-grid-images{padding:0 5px;min-height:300px}.media-grid-container{padding:5px}}.albums-page{min-height:calc(100vh - 100px)}.sortable-media-grid-container{width:100%;height:100%;min-height:300px;position:relative;display:flex;flex-direction:column}.sortable-media-grid{width:100%;height:100%;flex:1;min-height:0}.sortable-media-item{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 4px #0000001a}.sortable-media-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.sortable-media-item.dragging{opacity:.8;transform:rotate(5deg);z-index:1000}.drag-handle{position:absolute;top:8px;right:8px;width:24px;height:24px;background:#0009;color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:grab;font-size:12px;font-weight:700;z-index:10;transition:background-color .2s ease}.drag-handle:hover{background:#000c}.drag-handle:active{cursor:grabbing}.sortable-media-item img{width:100%;height:100%;object-fit:cover;border-radius:8px}.sortable-media-item.selected{border:2px solid #667eea;box-shadow:0 0 0 2px #667eea4d}.sortable-media-item .media-item-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.sortable-media-item:hover .media-item-overlay{opacity:1}.sortable-media-item .remove-button{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.sortable-media-item .remove-button:hover{background:#c82333}@media (max-width: 768px){.drag-handle{width:20px;height:20px;font-size:10px}.sortable-media-item,.sortable-media-item img{border-radius:6px}.sortable-media-grid-container{min-height:300px}.sortable-media-grid{flex:1;min-height:0}.sortable-media-grid-container>div:first-child{height:100%!important;min-height:300px!important}.sortable-media-grid-container>div[style*="height: 0px"]{height:100%!important;width:100%!important;min-height:300px!important}}@media (max-width: 480px){.sortable-media-grid-container{min-height:250px}.sortable-media-grid-container>div:first-child{height:100%!important;min-height:250px!important}.sortable-media-grid-container>div[style*="height: 0px"]{height:100%!important;width:100%!important;min-height:250px!important}.sortable-media-item{min-width:100px;min-height:100px}.drag-handle{width:20px;height:20px;font-size:10px}}@keyframes dragStart{0%{transform:scale(1)}to{transform:scale(1.05)}}.sortable-media-item.dragging{animation:dragStart .2s ease}.sortable-media-grid .react-window-grid{outline:none}.sortable-media-grid .react-window-grid::-webkit-scrollbar{width:8px}.sortable-media-grid .react-window-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.sortable-media-grid .react-window-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.sortable-media-grid .react-window-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.create-album-page{height:100%;min-height:calc(100vh - 100px)}.create-album-container{display:flex;gap:20px;height:100%;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;position:relative}.media-library-section{flex:0 0 510px;display:flex;flex-direction:column;padding:20px;border-right:1px solid #e0e0e0;transition:all .3s ease;background:#fff;border-radius:8px 0 0 8px}.media-library-section.collapsed{flex:0 0 140px;padding:20px 10px;overflow:hidden}.media-library-section.focus-upload-section{border:2px solid #007bff;box-shadow:0 0 0 3px #007bff1a;animation:focus-section-pulse 3s ease-in-out infinite}@keyframes focus-section-pulse{0%,to{box-shadow:0 0 0 3px #007bff1a}50%{box-shadow:0 0 0 6px #007bff0d}}.left-section{flex:1;display:flex;flex-direction:column;padding:20px;border-right:1px solid #e0e0e0;gap:20px}.left-section h3{margin:0 0 10px;color:#333;font-size:18px;font-weight:600}.file-upload-section{flex:0 0 auto;min-height:200px}.media-library-container{flex:1;display:flex;flex-direction:column;min-height:0}.media-library-container .add-to-album-button{margin-top:10px;align-self:flex-start}.album-section{flex:1;display:flex;flex-direction:column;padding:20px;gap:20px;transition:all .3s ease}.album-section.expanded{margin-left:0}.album-header-with-images{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;border:1px solid #e0e0e0}.album-header-info{display:flex;flex-direction:column;gap:1rem}.album-title-section{display:flex;gap:1rem;align-items:center}.album-name-input-large{flex:1;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1.2rem;font-weight:600;color:#333;background:#fff;transition:border-color .3s ease}.album-name-input-large:focus{outline:none;border-color:#667eea}.album-name-input-large::placeholder{color:#999;font-weight:400}.save-album-button-large{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;white-space:nowrap;width:100%}.save-album-button-large:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea085);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.album-image-count{background:#fff3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(255,255,255,.3)}.album-editor-creation-form{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 6px #0000001a}.form-header-left{display:flex;align-items:center;gap:1rem}.album-editor-creation-form .form-header .form-header-left{margin-right:6px}.form-header h3{margin:0;font-size:1.3rem;font-weight:600;color:#fff}.close-form-button{background:#fff3;border:none;color:#fff;font-size:1.2rem;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:700}.form-row{display:flex;gap:1rem;align-items:flex-end}.album-input{padding:.75rem 1rem;border:none;border-radius:8px;font-size:1rem;background:#fffffff2;color:#333;min-height:92px;resize:vertical;font-family:inherit;line-height:1.4;width:500px}.album-input::placeholder{color:#666}.album-limit-input{width:100px;padding:.75rem;border:none;border-radius:8px;font-size:3rem;height:5rem;background:#fffffff2;color:#333;text-align:center;min-height:92px}.album-editor-button{padding:.75rem 1.5rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;height:92px}.album-header{display:flex;gap:10px;margin-bottom:20px}.album-name-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:16px}.album-name-input:focus{outline:none;border-color:#007bff}.add-to-album-button{margin-top:10px;padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.add-to-album-button:hover{background:#0056b3}.save-album-button{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.save-album-button:hover{background:#218838}.save-album-button:disabled{background:#6c757d;cursor:not-allowed}.error-message{color:#dc3545;margin-bottom:10px;padding:8px;background:#f8d7da;border-radius:4px}.album-grid-images{margin-top:20px;flex:1;min-height:0;display:flex;flex-direction:column;height:100%}.album-grid-images .media-grid-container{flex:1;min-height:0;height:100%}.empty-album-message{text-align:center;color:#666;padding:40px;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.create-album-drop-area{border:2px dashed #ccc;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9fa;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px}.create-album-drop-area:hover{border-color:#007bff;background:#f1f8ff}.create-album-drop-area.processing{border-color:#007bff;background:#f1f8ff;cursor:not-allowed}.create-album-drop-area .processing-state{display:flex;flex-direction:column;align-items:center;gap:10px}.create-album-drop-area .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.album-actions{display:flex;gap:10px;margin-top:10px}.save-album-section{margin-top:2rem;background:linear-gradient(135deg,#28a745,#20c997);border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 6px #0000001a}.save-album-content{display:flex;flex-direction:column;gap:1rem}.save-album-info h3{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;color:#fff}.save-album-info p{margin:0;color:#ffffffe6;font-size:.95rem}.save-album-actions{display:flex;gap:1rem;align-items:center}.save-album-name-input{flex:1;padding:.75rem 1rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;background:#fffffff2;color:#333;transition:border-color .3s ease}.save-album-name-input:focus{outline:none;border-color:#fffc}.save-album-name-input::placeholder{color:#666}.save-album-button-large{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.save-album-button-large:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.save-changes-section{margin:20px 0;display:flex;justify-content:center;align-items:center}.save-changes-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:44px;box-shadow:0 2px 4px #0000001a;animation:slideInUp .3s ease-out}.save-changes-button:hover:not(:disabled){background:linear-gradient(135deg,#ee5a24,#d63031);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.save-changes-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-changes-button svg{flex-shrink:0}@media (max-width: 768px){.create-album-container{flex-direction:column;gap:10px}.media-library-section{flex:none;height:auto;min-height:60px;border-right:none;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0}.media-library-section.collapsed{flex:none;height:60px;padding:10px}.album-section{flex:1;margin-left:0}.album-section.expanded{margin-left:0}.media-library-toggle{top:15px;right:15px}.album-grid-images{margin-top:15px;min-height:300px;height:400px;display:flex;flex-direction:column}.album-grid-images .media-grid-container{min-height:300px;flex:1}.album-grid-images .sortable-media-grid-container{height:100%;min-height:300px;position:relative}.album-grid-images .sortable-media-grid-container>div{height:100%!important;width:100%!important;min-height:300px!important}}@media (max-width: 480px){.create-album-container{gap:8px}.media-library-section{padding:12px}.media-library-section.collapsed{padding:8px 12px}.album-section{padding:12px}.album-grid-images{margin-top:12px;min-height:250px;height:350px;display:flex;flex-direction:column}.album-grid-images .media-grid-container{min-height:250px;flex:1}.album-grid-images .sortable-media-grid-container{height:100%;min-height:250px;position:relative}.album-grid-images .sortable-media-grid-container>div{height:100%!important;width:100%!important;min-height:250px!important}}.loading-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 100px)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.spinner{width:32px;height:32px;border:3px solid #e0e0e0;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:1rem;color:#666;font-weight:500}.editing-album-header{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:20px;border-left:4px solid #007bff}.editing-album-header h2{margin:0 0 8px;color:#333;font-size:1.5rem;font-weight:600}.editing-album-header p{margin:0;color:#666;font-size:.9rem}@media (max-width: 768px){.save-changes-button{font-size:.9rem;padding:.75rem 1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;width:90%;max-width:500px;animation:slideInUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#333}.modal-close-button{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close-button:hover{background:#f5f5f5;color:#333}.modal-body{padding:1.5rem}.modal-body p{margin:0 0 1rem;color:#666;font-size:.95rem}.modal-input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;color:#333;background:#fff;transition:border-color .3s ease;box-sizing:border-box}.modal-input:focus{outline:none;border-color:#667eea}.modal-input::placeholder{color:#999}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:0 1.5rem 1.5rem}.modal-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:100px}.modal-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-button-primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.modal-button-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-button-secondary{background:#f8f9fa;color:#666;border:1px solid #e0e0e0}.modal-button-secondary:hover{background:#e9ecef;color:#333}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-page{min-height:calc(100vh - 60px);background:#f5f5f5}.settings-container{max-width:800px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.settings-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px;text-align:center}.settings-header h1{margin:0 0 8px;font-size:2.5rem;font-weight:600}.settings-header p{margin:0;opacity:.9;font-size:1.1rem}.settings-sections{padding:40px}.settings-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #e0e0e0}.settings-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-section h2{margin:0 0 20px;color:#333;font-size:1.5rem;font-weight:600}.account-info{background:#f8f9fa;border-radius:8px;padding:20px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e9ecef}.info-row:last-child{border-bottom:none}.info-row label{font-weight:600;color:#495057;min-width:120px}.info-row span{color:#6c757d;text-align:right;word-break:break-all}.user-id{font-family:monospace;font-size:.9rem;background:#e9ecef;padding:4px 8px;border-radius:4px}.billing-info{background:#f8f9fa;border-radius:8px;padding:20px}.billing-status{margin-bottom:30px}.status-indicator{display:flex;align-items:center;gap:10px;margin-bottom:15px}.status-dot{width:12px;height:12px;border-radius:50%;background:#28a745}.status-text{font-weight:600;color:#28a745;font-size:1.1rem}.billing-description{color:#6c757d;margin:0;line-height:1.5}.usage-stats{margin-bottom:30px}.usage-stats h3{margin:0 0 15px;color:#333;font-size:1.2rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px}.stat-item{text-align:center;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.stat-number{font-size:2rem;font-weight:700;color:#667eea;margin-bottom:8px}.stat-label{color:#6c757d;font-size:.9rem;font-weight:500;margin-bottom:8px}.stat-limit{margin-top:8px;padding-top:8px;border-top:1px solid #e9ecef}.limit-progress{display:flex;flex-direction:column;gap:4px}.limit-bar{width:100%;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.limit-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);border-radius:3px;transition:width .3s ease}.limit-fill.over-limit{background:linear-gradient(90deg,#dc3545,#fd7e14)}.limit-text{font-size:.75rem;color:#6c757d;text-align:center;font-weight:500}.refresh-stats-button{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-top:15px}.refresh-stats-button:hover{background:#5a6fd8}.refresh-stats-button:active{transform:translateY(1px)}.upgrade-section{background:#fff;border-radius:8px;padding:20px;border:2px dashed #dee2e6}.upgrade-section h3{margin:0 0 10px;color:#333;font-size:1.2rem;font-weight:600}.upgrade-section p{color:#6c757d;margin:0 0 20px}.upgrade-features{margin-bottom:20px}.feature-item{display:flex;align-items:center;gap:10px;padding:8px 0;color:#495057}.feature-icon{font-size:1.2rem}.upgrade-button{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:1rem;font-weight:600;cursor:not-allowed;opacity:.6;transition:all .3s ease}.upgrade-button:hover{background:#5a6268}.account-actions{background:#f8f9fa;border-radius:8px;padding:20px;text-align:center}.sign-out-button{background:#dc3545;color:#fff;border:none;padding:12px 32px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:15px}.sign-out-button:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.sign-out-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.action-description{color:#6c757d;margin:0;font-size:.9rem;line-height:1.4}.app-info{background:#f8f9fa;border-radius:8px;padding:20px}@media (max-width: 768px){.settings-page{padding:10px}.settings-container{border-radius:8px}.settings-header{padding:30px 20px}.settings-header h1{font-size:2rem}.settings-sections{padding:20px}.info-row{flex-direction:column;align-items:flex-start;gap:5px}.info-row label{min-width:auto}.info-row span{text-align:left}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:15px}.stat-item{padding:15px}.stat-number{font-size:1.5rem}.compute-stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.compute-stat-item{padding:12px}.compute-stat-number{font-size:1.3rem}.compute-stat-label{font-size:.75rem}}.compute-usage-section{margin-top:25px;padding-top:25px;border-top:1px solid #e9ecef}.compute-usage-section h4{margin:0 0 15px;color:#333;font-size:1.1rem;font-weight:600}.compute-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px}.compute-stat-item{text-align:center;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;transition:transform .2s ease,box-shadow .2s ease}.compute-stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.compute-stat-number{font-size:1.5rem;font-weight:700;color:#495057;margin-bottom:6px}.compute-stat-label{color:#6c757d;font-size:.8rem;font-weight:500;line-height:1.3}.quota-section{margin-top:25px;padding-top:25px;border-top:1px solid #e9ecef}.quota-section h4{margin:0 0 15px;color:#333;font-size:1.1rem;font-weight:600}.quota-grid{display:flex;flex-direction:column;gap:15px}.quota-item{background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000000d;border:1px solid #e9ecef}.quota-label{font-weight:600;color:#333;margin-bottom:10px;font-size:.95rem}.quota-progress{display:flex;align-items:center;gap:15px}.quota-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.quota-fill{height:100%;background:#667eea;border-radius:4px;transition:width .3s ease,background-color .3s ease}.quota-fill.over-limit{background:#dc3545}.quota-text{font-size:.85rem;font-weight:500;color:#495057;min-width:80px;text-align:right}.storage-details-section{margin-top:25px;padding-top:25px;border-top:1px solid #e9ecef}.storage-details-section h4{margin:0 0 15px;color:#333;font-size:1.1rem;font-weight:600}.storage-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.storage-breakdown-item{background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000000d;border:1px solid #e9ecef}.storage-breakdown-item.total{background:#f8f9fa;border:2px solid #667eea}.storage-breakdown-label{font-weight:600;color:#333;margin-bottom:8px;font-size:.9rem}.storage-breakdown-stats{display:flex;justify-content:space-between;align-items:center}.storage-breakdown-size{font-size:.8rem;color:#6c757d;font-weight:500}.storage-breakdown-bytes{font-size:.9rem;color:#495057;font-weight:600}.legal-page{min-height:100vh;background-color:#f8f9fa;padding:2rem 0}.legal-content{max-width:800px;margin:0 auto;padding:0 2rem;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.legal-header{background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;padding:3rem 2rem 2rem;text-align:center;position:relative}.back-link{position:absolute;top:1.5rem;left:2rem;color:#fff;text-decoration:none;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:opacity .2s ease}.back-link:hover{opacity:.8}.legal-header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.last-updated{margin:0;opacity:.9;font-size:.9rem}.legal-body{padding:3rem 2rem}.legal-body section{margin-bottom:3rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.legal-body section:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}.legal-body h2{color:#1a1a1a;font-size:1.6rem;font-weight:700;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:3px solid #646cff;letter-spacing:-.02em}.legal-body h3{color:#333;font-size:1.3rem;font-weight:600;margin:2rem 0 1rem;padding-left:.5rem;border-left:3px solid #646cff}.legal-body p{color:#555;line-height:1.7;margin:0 0 1.25rem;font-size:.95rem}.legal-body ul{color:#555;line-height:1.6;margin:0 0 1rem;padding-left:0;list-style:none}.legal-body li{margin-bottom:.75rem;padding-left:0;position:relative}.legal-body li:before{content:"•";color:#646cff;font-weight:700;font-size:1.2em;position:absolute;left:-1.2rem;top:0;text-shadow:0 0 1px rgba(100,108,255,.3);transition:all .2s ease}.legal-body li:hover:before{color:#535bf2;transform:scale(1.1)}@media (max-width: 768px){.legal-page{padding:1rem 0}.legal-content{padding:0 1rem;margin:0 1rem}.legal-header{padding:2rem 1.5rem 1.5rem}.back-link{position:static;margin-bottom:1rem;justify-content:center}.legal-header h1{font-size:2rem}.legal-body{padding:2rem 1.5rem}.legal-body h2{font-size:1.3rem}.legal-body h3{font-size:1.1rem}}@media (max-width: 480px){.legal-content{margin:0 .5rem}.legal-header{padding:1.5rem 1rem 1rem}.legal-header h1{font-size:1.75rem}.legal-body{padding:1.5rem 1rem}.legal-body h2{font-size:1.2rem}.legal-body h3{font-size:1rem}}html,body{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}*{box-sizing:border-box}#root{width:100%;margin:0 auto;padding:2rem;text-align:center;background-color:#f8f9fa;box-sizing:border-box}@media (max-width: 768px){#root{padding:1rem;width:100%;max-width:100%;overflow-x:hidden}}@media (max-width: 480px){#root{padding:.5rem}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.drop-area{border:2px dashed #ccc;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9fa}.drop-area:hover{border-color:#007bff;background:#f1f8ff}.drop-area.processing{border-color:#007bff;background:#f1f8ff;cursor:not-allowed}.processing-state{display:flex;flex-direction:column;align-items:center;gap:10px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.results-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.result-item{background:#fff;border-radius:8px;padding:1.5rem;text-align:left;box-shadow:0 2px 4px #0000001a;border:1px solid #e0e0e0}.result-item h3{margin:0 0 1rem;color:#1a1a1a;font-size:1.1rem;font-weight:600;padding-bottom:.5rem;border-bottom:2px solid #646cff}.result-item ul{list-style:none;padding:0;margin:0}.result-item li{padding:.75rem 0;border-bottom:1px solid #e0e0e0;color:#333;font-size:.95rem;display:flex;justify-content:space-between}.result-item li:last-child{border-bottom:none}.result-item li span:first-child{font-weight:500;color:#1a1a1a}.result-item li span:last-child{color:#646cff;font-weight:600}.file-list{margin-top:20px;list-style-type:none;padding:0}.file-type-badge{background-color:#646cff;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;margin-left:.5rem;vertical-align:middle}.video-preview{margin:1rem 0;border-radius:4px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.video-preview img{width:100%;height:auto;display:block}.frame-navigation{display:flex;align-items:center;justify-content:space-between;margin:1rem 0;padding:.5rem;background-color:#f5f5f5;border-radius:4px}.frame-navigation button{padding:.5rem 1rem;background-color:#646cff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.frame-navigation button:hover:not(:disabled){background-color:#535bf2}.frame-navigation button:disabled{background-color:#ccc;cursor:not-allowed}.frame-navigation span{color:#333;font-size:.9rem}.media-preview{position:relative;margin:10px 0}.media-preview img{max-width:100%;height:auto;border-radius:4px}.media-preview img.processing{opacity:.7}.processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;z-index:1}.processing-overlay .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.processing-overlay p{margin:0;color:#333;font-weight:500}.detections-section{margin-top:1.5rem;padding-top:1rem;border-top:2px solid #e0e0e0}.detections-section h4{margin:0 0 1rem;color:#1a1a1a;font-size:1rem;font-weight:600}.detections-list{margin:0;padding:.5rem;background-color:#f8f9fa;border-radius:4px}.detection-item{display:flex;justify-content:space-between;padding:.75rem;border-bottom:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease}.detection-item:hover{background-color:#f0f0f0}.detection-item.active{background-color:#e6f7ff;border-left:3px solid #646cff}.detection-item:last-child{border-bottom:none}.detection-label{font-weight:500;color:#1a1a1a}.detection-score{color:#646cff;font-weight:600}.similar-images-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #e0e0e0}.similar-images-section h2{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.5rem;font-weight:600}.similar-images-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.similar-image{position:relative;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease}.similar-image:hover{transform:translateY(-4px)}.similar-image img{width:100%;height:200px;object-fit:cover;display:block}.similarity-score{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:#000000b3;color:#fff;font-size:.9rem;text-align:center}.result-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:16px;margin-bottom:20px;position:relative}.find-similar-button{background-color:#4a90e2;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;margin-top:12px;transition:background-color .2s}.find-similar-button:hover{background-color:#357abd}.find-similar-button:active{background-color:#2c6aa3}.reference-image-container{margin-bottom:2rem;text-align:center}.reference-image{display:inline-block;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:16px;max-width:300px}.reference-image h3{margin:0 0 12px;color:#333;font-size:16px}.reference-image img{max-width:100%;max-height:200px;object-fit:contain;border-radius:4px;margin-bottom:8px}.reference-image-name{color:#666;font-size:14px;word-break:break-word}.search-section{margin:20px;padding:20px;background:#f5f5f5;border-radius:8px}.search-form{display:flex;gap:10px;max-width:600px;margin:0 auto}.search-input{flex:1;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.search-button{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.search-button:disabled{background:#ccc;cursor:not-allowed}.search-results{margin:20px 0}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:20px}.result-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s}.result-card:hover{transform:translateY(-2px)}.result-image{width:100%;height:200px;object-fit:cover}.result-details{padding:15px}.description{margin:0 0 10px;font-size:14px;color:#333}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.tag{background:#e9ecef;padding:4px 8px;border-radius:4px;font-size:12px;color:#495057}.metadata{display:flex;justify-content:space-between;font-size:12px;color:#6c757d}.match-rank{font-weight:700}.album-section{padding:20px;border-radius:8px}.album-form{display:flex;gap:1rem;align-items:center}.album-button{padding:.75rem 1.5rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;height:fit-content}.album-button:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.album-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.album-results{margin:20px 0}.album-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:20px}.album-image{border:1px solid #ddd;border-radius:8px;overflow:hidden}.album-image img{width:100%;height:200px;object-fit:cover}.album-image-info{padding:15px;background-color:#fff}.album-image-order{font-weight:700;margin-bottom:5px}.album-image-reason{color:#666;font-size:14px}.album-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.album-header-info{display:flex;align-items:center;gap:1rem}.album-header-info h2{margin:0;color:#333;font-size:1.8rem;font-weight:600}.album-image-count{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.album-actions{display:flex;gap:1rem;align-items:center}.save-album-button-large{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;min-width:150px}.save-album-button-large:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea085);transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.save-album-button-large:disabled{opacity:.6;cursor:not-allowed;transform:none}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fff;padding:12px 20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;z-index:1;width:100%;box-sizing:border-box}.app-header h1{margin:0;color:#333}.main-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:6px;flex-wrap:wrap}.nav-left{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.nav-right{display:flex;align-items:center;flex-wrap:wrap}.nav-link{color:#666;text-decoration:none;font-size:16px;padding:5px 10px;border-radius:4px;transition:all .2s;display:flex;align-items:center;gap:6px;white-space:nowrap}.nav-link:hover{color:#333;background:#f5f5f5}.nav-icon{font-size:18px;line-height:1;margin-right:2px}@media (max-width: 768px){.app-header{padding:8px 12px;margin-bottom:10px}.main-nav{gap:10px;flex-direction:column;align-items:stretch}.nav-left,.nav-right{gap:10px;justify-content:center;flex-wrap:wrap}.nav-link{font-size:14px;padding:8px 12px;justify-content:center;min-width:80px}.nav-icon{font-size:16px}}@media (max-width: 480px){.app-header{padding:6px 8px}.nav-link{font-size:12px;padding:6px 8px;min-width:60px}.nav-icon{font-size:14px}}.auth-container{display:flex;padding:0;align-items:center}.auth-user-info{display:flex;align-items:center;gap:12px}.user-name{color:#666;font-size:14px;font-weight:500}.sign-out-button{padding:4px 8px;background:#f8f9fa;color:#666;border:1px solid #dee2e6;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.sign-out-button:hover{background:#e9ecef;color:#333;border-color:#adb5bd}.app>:nth-child(2){flex:1;min-height:0;width:100%;box-sizing:border-box}@media (max-width: 768px){.app{width:100%;overflow-x:hidden}*{max-width:100%;box-sizing:border-box}img{max-width:100%;height:auto}.results-container,.results-grid,.album-images,.similar-images-container{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;padding:0 1rem}.album-form,.album-chat-form,.search-form{flex-direction:column;gap:1rem}.album-input,.album-chat-input,.search-input{width:100%;min-width:unset}.album-button,.album-chat-button,.search-button{width:100%}.album-section,.search-section,.album-chat-section{width:100%;max-width:100%;padding:1rem;margin:1rem 0}.result-item,.result-card,.album-image{width:100%;max-width:100%}.create-album-page{min-height:calc(100vh - 80px)}.modal-content{width:95%;max-width:400px;margin:1rem}button{min-height:44px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}}@media (max-width: 480px){.results-container,.results-grid,.album-images,.similar-images-container{grid-template-columns:1fr;gap:.75rem;padding:0 .5rem}}.album-chat-section{margin-top:2rem;padding:1rem;background-color:#f5f5f5;border-radius:8px}.album-chat-form{display:flex;gap:1rem;align-items:center}.album-chat-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.album-chat-button{padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.album-chat-button:hover{background-color:#0056b3}.album-chat-button:disabled{background-color:#ccc;cursor:not-allowed}.album-actions{display:flex;gap:10px;align-items:center}.album-name-input{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;min-width:200px}.save-album-button{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.save-album-button:hover{background-color:#45a049}.save-album-button:disabled{background-color:#ccc;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.empty-state{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem}.empty-state-content{text-align:center;max-width:500px}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:#333;margin-bottom:1rem;font-size:2rem}.empty-state p{color:#666;margin-bottom:2rem;font-size:1.1rem;line-height:1.5}.file-upload-section{margin-top:2rem}.home-with-assets{max-width:1200px;margin:0 auto}.asset-summary{display:grid;grid-template-columns:1fr 3fr;gap:2rem;margin-bottom:3rem;padding:2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;color:#333;border:1px solid #dee2e6;box-shadow:0 4px 6px #0000001a}.asset-count-card{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:#fffc;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 4px #0000001a;height:220px}.asset-count-icon{font-size:3rem}.asset-count-info{flex:1}.asset-count-link{text-decoration:none;color:inherit;display:block;transition:all .3s ease}.asset-count-link:hover{color:#667eea;text-decoration:none}.asset-count-info h2{margin:0 0 .5rem;font-size:1.8rem;font-weight:600;color:#333}.asset-count-info p{margin:0;color:#666;font-size:1rem}.add-photos-section{display:flex;align-items:stretch;height:220px}.add-photos-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#fffc;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 4px #0000001a;width:100%;text-align:center;height:220px;position:relative}.add-photos-icon{font-size:2.5rem;position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:1}.add-photos-info{position:absolute;top:4rem;left:50%;transform:translate(-50%);z-index:1;background:#ffffffe6;padding:.5rem 1rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.add-photos-info h3{margin:0 0 .25rem;font-size:1.3rem;font-weight:600;color:#333}.add-photos-info p{margin:0;color:#666;font-size:.9rem}.add-photos-upload{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:absolute}.cta-section{display:flex;align-items:center;margin-bottom:3rem}.create-album-cta{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;text-decoration:none;color:#fff;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;width:100%;border:none;cursor:pointer;font-family:inherit}.create-album-cta:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-2px);color:#fff;text-decoration:none;box-shadow:0 6px 12px #00000026}.cta-icon{font-size:2.5rem}.cta-content h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#fff}.cta-content p{margin:0;opacity:.9;font-size:.95rem;color:#fff}.cta-arrow{font-size:1.5rem;margin-left:auto;transition:transform .3s ease;color:#fff}.create-album-cta:hover .cta-arrow{transform:translate(5px)}.album-creation-form{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:2rem;color:#fff;box-shadow:0 4px 6px #0000001a;width:100%}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.form-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.close-form-button{background:#fff3;border:none;color:#fff;font-size:1.2rem;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:700}.close-form-button:hover{background:#ffffff4d;transform:scale(1.05)}.form-row{display:flex;gap:1.5rem;align-items:flex-end}.input-group{display:flex;flex-direction:column;gap:.5rem;flex:1}.form-label{color:#fff;font-size:.9rem;font-weight:600;margin:0}@media (max-width: 768px){.asset-summary{grid-template-columns:1fr;gap:1rem;padding:1rem}.asset-count-card,.add-photos-card,.create-album-cta,.album-creation-form{padding:1.5rem}.form-row{flex-direction:column;gap:1rem;align-items:stretch}.input-group{width:100%}.album-input{width:100%;min-width:unset}.album-limit-input,.album-button{width:100%}.cta-content h3{font-size:1.3rem}.asset-count-info h2{font-size:1.5rem}.add-photos-info h3{font-size:1.2rem}}.album-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.album-loading-content{text-align:center;color:#fff;background:#ffffff1a;padding:3rem;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.album-loading-content h3{margin:1rem 0 .5rem;font-size:1.5rem}.album-loading-content p{margin:0;opacity:.8}.asset-summary.minimized{opacity:.3;transform:scale(.95);transition:all .3s ease;pointer-events:none}.album-results-centered{max-width:1200px;margin:2rem auto;margin-bottom:200px;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000001a}.album-creation-bottom{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem 2rem;box-shadow:0 -4px 6px #0000001a;z-index:100;height:140px;display:flex;align-items:center;width:100%;box-sizing:border-box}.album-creation-bottom .album-creation-form{background:transparent;padding:0;box-shadow:none;width:100%}.album-creation-bottom .form-header{margin-bottom:1rem}.album-creation-bottom .form-row{gap:1rem}.album-creation-bottom .input-group{flex:1}.album-creation-bottom .album-input{min-width:200px;min-height:60px}@media (max-width: 768px){.album-loading-content{padding:2rem;margin:1rem;width:calc(100% - 2rem)}.album-results-centered{margin:1rem;padding:1rem;width:calc(100% - 2rem)}.album-creation-bottom{padding:1rem;width:100%}.album-creation-bottom .form-row{flex-direction:column;gap:.75rem}.album-creation-bottom .album-input{min-width:unset;width:100%;max-width:100%}.album-creation-bottom .album-creation-form{width:100%;max-width:100%}.album-creation-bottom .input-group{width:100%}}.save-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000}.save-modal{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:90%;box-shadow:0 10px 25px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.save-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.save-modal-header h3{margin:0;color:#333;font-size:1.5rem;font-weight:600}.close-modal-button{background:#0000001a;border:none;color:#666;font-size:1.5rem;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-modal-button:hover{background:#0003;color:#333}.save-modal-form{display:flex;flex-direction:column;gap:1.5rem}.save-modal-form .input-group{display:flex;flex-direction:column;gap:.5rem}.save-modal-form .form-label{color:#333;font-size:1rem;font-weight:600;margin:0}.save-modal-form .album-name-input{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;color:#333;transition:border-color .3s ease}.save-modal-form .album-name-input:focus{outline:none;border-color:#667eea}.save-modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.cancel-button{padding:.75rem 1.5rem;background:#f8f9fa;color:#666;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button:hover{background:#e9ecef;border-color:#ced4da;color:#333}.save-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea085);transform:translateY(-1px)}.save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.save-modal{padding:1.5rem;margin:1rem;width:calc(100% - 2rem);max-width:calc(100% - 2rem)}.save-modal-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}@media (max-width: 480px){.save-modal{padding:1rem;margin:.5rem;width:calc(100% - 1rem);max-width:calc(100% - 1rem)}}.home-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.home-content{max-width:1200px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box}.hero-section{text-align:center;margin-bottom:3rem}.hero-logo{width:256px}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1.5rem;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;justify-content:center;gap:1rem}.hero-title .hero-logo{width:128px}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;color:#ffffffe6;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.hero-stats{display:flex;justify-content:center;gap:2rem;margin-top:2rem}.hero-stat{background:#ffffff1a;padding:.75rem 1.5rem;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);font-weight:500}.steps-section{margin-bottom:4rem}.steps-title{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:3rem;color:#fff}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;max-width:900px;margin:0 auto}.step-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:2.5rem;text-align:center;position:relative;transition:transform .3s ease,box-shadow .3s ease}.step-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0003}.step-number{position:absolute;top:-15px;left:50%;transform:translate(-50%);background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;box-shadow:0 4px 15px #0003}.step-icon{font-size:3rem;margin-bottom:1.5rem}.step-content h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#fff}.step-content p{color:#fffc;line-height:1.6;margin-bottom:2rem}.step-cta-button{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.step-cta-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.step-cta-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.quick-actions-section{text-align:center;margin-top:4rem}.quick-actions-section h3{font-size:2rem;font-weight:600;margin-bottom:2rem;color:#fff}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:600px;margin:0 auto}.quick-action-button{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1rem;text-align:left}.quick-action-button:hover{background:#fff3;transform:translateY(-2px)}.quick-action-icon{font-size:2rem;flex-shrink:0}.quick-action-text{display:flex;flex-direction:column}.quick-action-text span{font-weight:600;color:#fff;font-size:1.1rem}.quick-action-text small{color:#ffffffb3;font-size:.9rem;margin-top:.25rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (max-width: 768px){.home-content{padding:1rem;width:100%;max-width:100%}.hero-title{font-size:2.5rem;word-wrap:break-word}.hero-subtitle{font-size:1.1rem;padding:0 1rem}.steps-title{font-size:2rem}.steps-container{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}.step-card{padding:2rem;margin:0 .5rem}.quick-actions-grid{grid-template-columns:1fr;padding:0 1rem}.hero-stats{flex-direction:column;gap:1rem}.hero-logo{width:200px}.hero-title .hero-logo{width:80px}}@media (max-width: 480px){.home-content{padding:.5rem}.hero-title{font-size:2rem;padding:0 .5rem}.hero-subtitle{font-size:1rem;padding:0 .5rem}.steps-title{font-size:1.5rem}.step-card{padding:1.5rem;margin:0 .25rem}.hero-logo{width:150px}.hero-title .hero-logo{width:60px}}
