*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;min-height:100vh;text-align:center}.App-content-wrapper{display:flex;flex:1 1;flex-direction:column}.App-content-wrapper-desktop{margin-left:240px}.App-content-wrapper-mobile{padding-bottom:60px}.mobile-top-bar{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:10px 15px;position:-webkit-sticky;position:sticky;top:0;z-index:999}.mobile-top-bar .account-status-button,.mobile-top-bar .burger-menu-button{background:none;border:none;color:#333;cursor:pointer;padding:5px}.mobile-top-bar .material-icons{font-size:28px}main{background-color:#f5f5f5;flex:1 1;padding:1.5rem}.add-pair-button-container{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px;padding:1rem}.add-pair-button{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:500;margin-bottom:1rem;padding:.8rem 1.8rem;transition:background-color .2s ease-in-out}.add-pair-button:hover:not(:disabled){background-color:#0056b3}.add-pair-button:disabled{background-color:#ced4da;cursor:not-allowed}.update-status-container.single-item.main-status{background-color:initial;border:none;color:#495057;display:flex;flex-wrap:wrap;font-size:.85rem;gap:15px;justify-content:center;margin-top:0;max-width:90%;padding:8px;width:-webkit-fit-content;width:fit-content}.widgets-section-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:1200px;padding:1.5rem;width:95%}.widget-status-header{border-bottom:1px solid #eee;color:#495057;display:flex;flex-wrap:wrap;font-size:.85rem;gap:20px;justify-content:center;margin-bottom:1.5rem;padding-bottom:1rem}.widgets-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.widget-grid-container{display:flex;flex-direction:column;gap:2.5rem}.widget-grid-section-title{border-bottom:1px solid #dee2e6;color:#495057;font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem;text-align:left}.update-status-item{align-items:center;display:flex;gap:8px}.update-dot{background-color:#6c757d;border-radius:50%;flex-shrink:0;height:10px;width:10px}.update-dot.live{animation:pulse-live 1.5s ease-in-out infinite;background-color:#28a745}.update-dot.historical{background-color:#ffc107}.update-dot.historical.active{background-color:#fd7e14}@keyframes pulse-live{0%{box-shadow:0 0 0 0 #28a745b3;transform:scale(1)}70%{box-shadow:0 0 0 5px #28a74500;transform:scale(1)}to{box-shadow:0 0 0 0 #28a74500;transform:scale(1)}}.app-footer{background-color:#f1f1f1;color:#6c757d;font-size:.8rem;margin-top:2rem;padding:1rem;text-align:center}.app-footer a{color:#007bff;text-decoration:none}.app-footer a:hover{text-decoration:underline}.version-indicator{background-color:#333;border-radius:4px;color:#ccc;font-size:.5em;font-weight:400;letter-spacing:.5px;margin-left:10px;padding:3px 6px;vertical-align:middle}.error-message{color:red;font-size:14px;margin-top:8px}.error-message.main-error{background-color:#fdd;border:1px solid #fbb;border-radius:4px;display:inline-block;margin-top:.5rem;padding:.5rem}@media screen and (min-width:768px){.widget-status-header{gap:30px;justify-content:flex-end}}.App-content-wrapper.menu-open{filter:brightness(.7);transform:translateX(50px);transition:transform .3s ease-in-out,filter .3s ease-in-out}.historical-chart-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;margin:0 auto;max-width:900px;padding:1.5rem;position:relative;width:100%}.chart-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:1.5rem}.chart-header h2{color:#2c3e50;flex-grow:1;flex-shrink:1;font-size:1.5rem;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls-and-preview-container{display:flex;flex-direction:column;gap:1rem}.estimated-period{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#050138;font-size:.85rem;padding:3px 8px;white-space:nowrap}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:flex;flex-shrink:0;font-size:1.8rem;height:32px;justify-content:center;line-height:1;margin:0;padding:0;transition:background-color .2s,color .2s;width:32px}.close-button:hover{background-color:#f1f1f1;color:#e74c3c}.period-selector{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.period-button{background-color:#f1f5f9;border:1px solid #0000;border-radius:50px;color:#4b5563;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.period-button:hover:not(:disabled){background-color:#e2e8f0}.period-button:disabled{background-color:#e9ecef;color:#adb5bd;cursor:not-allowed;opacity:.7}.time-period-button.active{background-color:#3498db;border-color:#3498db;color:#fff}.bands-toggle-button,.indicator-toggle-button{background-color:#fff;border:1px solid #ced4da;color:#495057}.bands-toggle-button:hover:not(:disabled),.indicator-toggle-button:hover:not(:disabled){background-color:#f8f9fa;border-color:#adb5bd}.bands-toggle-button.active,.indicator-toggle-button.active{background-color:#ffc107;border-color:#ffc107;color:#343a40}.set-thresholds-button{align-items:center;background-color:#27ae60;border-color:#27ae60;color:#fff;display:inline-flex;gap:.4rem}.set-thresholds-button:hover:not(:disabled){background-color:#219653;border-color:#219653}.set-thresholds-button:disabled{background-color:#bdc3c7;border-color:#bdc3c7;color:#7f8c8d}.set-thresholds-button .button-icon{font-size:1.1rem}.export-button{background-color:#6c757d;border-color:#6c757d;color:#fff}.export-button:hover:not(:disabled){background-color:#5a6268;border-color:#545b62}.export-button:disabled{background-color:#bdc3c7;border-color:#bdc3c7;color:#7f8c8d}.threshold-preview-area{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem;justify-content:center;padding:.75rem}@media screen and (max-width:400px){.threshold-preview-area{align-items:center;flex-direction:column;gap:.5rem}}.preview-group{align-items:center;display:flex;gap:.5rem}.preview-label{color:#6c757d;font-weight:500}.preview-value{background-color:#fff;border:1px solid #dee2e6;border-radius:4px;color:#343a40;font-weight:600;padding:2px 6px}.chart-legend-container+.controls-and-preview-container,.chart-wrapper{margin-top:1rem}.chart-wrapper{height:400px;position:relative;width:100%}.loading-indicator{background-color:#fffc;color:#7f8c8d}.error-message,.loading-indicator{align-items:center;bottom:0;display:flex;font-size:1.1rem;justify-content:center;left:0;position:absolute;right:0;top:0}.error-message{padding:2rem}@media screen and (max-width:768px){.historical-chart-container{padding:1rem}.chart-wrapper{height:350px}.chart-header h2{font-size:1.2rem}.period-button{font-size:.8rem;padding:.4rem .8rem}}@media screen and (max-width:480px){.chart-wrapper{height:300px}}.chart-legend-container{align-items:center;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;gap:10px 15px;justify-content:center;margin-bottom:1rem;padding-bottom:1rem}.chart-legend-item{align-items:center;cursor:default;display:flex}.legend-color-swatch{border-radius:3px;display:inline-block;flex-shrink:0;height:14px;margin-right:6px;width:14px}.legend-label{color:#555;font-size:.8rem;white-space:nowrap}@media screen and (max-width:480px){.chart-legend-container{gap:8px 12px;padding-bottom:.75rem}.legend-label{font-size:.75rem}}.checkpoints-popover-overlay{bottom:0;display:flex;justify-content:flex-end;left:0;position:absolute;right:0;top:0;z-index:10}.checkpoints-popover-container{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background-color:#f8f9fafa;border:1px solid #0000001a;border-radius:8px;box-shadow:0 5px 15px #0003;display:flex;flex-direction:column;max-height:320px;overflow:hidden;position:absolute;right:10px;top:45px;width:160px;z-index:11}.popover-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 12px}.popover-title{color:#343a40;font-size:.9rem;font-weight:600}.popover-close-button{background:none;border:none;color:#adb5bd;cursor:pointer;font-size:1.2rem;line-height:1;padding:0}.popover-close-button:hover{color:#495057}.checkpoints-list-wrapper{-ms-overflow-style:none;flex-grow:1;-webkit-mask-image:linear-gradient(180deg,#000 85%,#0000);mask-image:linear-gradient(180deg,#000 85%,#0000);overflow-y:auto;padding:4px;position:relative;scrollbar-width:none}.checkpoints-list-wrapper::-webkit-scrollbar{display:none}.checkpoints-list{list-style:none;margin:0;padding:0}.empty-checkpoints-message{color:#6c757d;font-size:.85rem;font-style:italic;padding:20px;text-align:center}.checkpoint-slot-wrapper{position:relative;touch-action:none}.checkpoint-slot{align-items:center;background-color:#fff;border:1px solid #e9ecef;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 8px;transition:background-color .2s,box-shadow .2s}.checkpoint-slot:last-child{margin-bottom:0}.checkpoint-slot.is-default{background-color:#e6fffa;border-color:#20c997;box-shadow:0 0 4px #20c9974d}.checkpoint-slot:hover:not(.is-default){background-color:#f8f9fa;border-color:#adb5bd}.checkpoint-slot-content{align-items:center;display:flex;flex-grow:1;gap:8px;overflow:hidden}.drag-handle{align-items:center;color:#adb5bd;cursor:grab;display:flex;padding:4px}.drag-handle:active{cursor:grabbing}.checkpoint-details{align-items:center;display:flex;flex-direction:column;overflow:hidden}.checkpoint-slot-ratio{color:#343a40;font-size:.9rem;font-weight:600;white-space:nowrap}.checkpoint-slot-timestamp{align-items:center;color:#6c757d;display:flex;flex-direction:column;font-size:.7rem;line-height:1.2}.default-indicator{color:#20c997;font-size:1.1rem;margin-left:auto;padding-left:4px}.delete-slot-button{align-items:center;background:none;border:none;border-radius:50%;color:#ced4da;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s,background-color .2s}.delete-slot-button:hover{background-color:#fff0f0;color:#e74c3c}.delete-slot-button .material-icons{font-size:18px}.popover-footer{background-color:#f8f9fafa;border-top:1px solid #dee2e6;flex-shrink:0;padding:8px}.add-checkpoint-button{align-items:center;background-color:#ffffffb3;border:1px dashed #ced4da;border-radius:4px;color:#868e96;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s,border-color .2s,color .2s;width:100%}.add-checkpoint-button:hover:not(:disabled){background-color:#fff;border-color:#868e96;color:#343a40}.add-checkpoint-button:disabled{background-color:#f1f3f5;cursor:not-allowed;opacity:.6}.modal-overlay{align-items:flex-start;background-color:#000000a6;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:1rem;position:fixed;right:0;top:0;z-index:1040}.modal-content{background-color:#fff;border-radius:6px;box-shadow:0 4px 15px #00000040;display:flex;flex-direction:column;margin-bottom:2rem;margin-top:2rem;max-width:450px;padding:1rem 1.25rem;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1rem;padding-bottom:.6rem}.modal-header h2{color:#333;font-size:1.15rem;font-weight:600;margin:0}.modal-close-button{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.6rem;font-weight:400;line-height:1;padding:0 .25rem}.modal-close-button:hover{color:#555}.modal-body{display:flex;flex-direction:column;gap:1rem;margin:0 -5px 1rem;padding:0 5px}.modal-body::-webkit-scrollbar{width:5px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1}.modal-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#999}.modal-body{scrollbar-color:#ccc #f1f1f1;scrollbar-width:thin}.modal-error-message{background-color:#fdd;border:1px solid #fbb;border-radius:4px;color:#e74c3c;font-size:.85rem;margin-top:.5rem;padding:.6rem .8rem;text-align:center}.modal-footer{border-top:1px solid #e0e0e0;flex-shrink:0;padding-top:1rem}.modal-add-button{background-color:#27ae60;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;min-width:100px;padding:.6rem 1.2rem;text-align:center;transition:background-color .2s,opacity .2s}.modal-add-button:hover:not(:disabled){background-color:#219653}.modal-add-button:disabled{background-color:#bdc3c7;cursor:not-allowed;opacity:.7}@media screen and (max-width:480px){.modal-overlay{align-items:flex-start;padding:.5rem}.modal-content{margin-top:1rem;max-height:calc(100vh - 2rem);max-width:calc(100% - 1rem);padding:.8rem 1rem;width:auto}.modal-header h2{font-size:1.05rem}.modal-body{gap:.8rem;margin-bottom:.8rem}.modal-add-button{font-size:1rem;padding:.7rem 1rem;width:100%}.modal-footer{padding-top:.8rem}}.threshold-edit-modal-content{max-width:400px}.current-ratio-display{background-color:#f8f9fa;border-radius:4px;color:#555;font-size:.95rem;margin-bottom:1rem;padding:.5rem;text-align:center}.current-ratio-display strong{color:#007bff}.threshold-input-group{margin-bottom:1rem}.threshold-input-group label{color:#333;display:block;font-size:.9rem;font-weight:500;margin-bottom:.3rem}.threshold-value-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.6rem .8rem;width:100%}.threshold-value-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.helper-text{border-radius:3px;font-size:.8rem;margin-top:.5rem;padding:.4rem;text-align:center}.helper-text.valid{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.helper-text.invalid{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.modal-footer{display:flex;gap:.5rem;justify-content:flex-end}.modal-cancel-button{background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.2rem}.modal-cancel-button:hover:not(:disabled){background-color:#5a6268}.modal-action-button{border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;min-width:120px;padding:.6rem 1.2rem}.modal-action-button.arm{background-color:#27ae60}.modal-action-button.arm:hover:not(:disabled){background-color:#219653}.modal-action-button.keep{background-color:#007bff}.modal-action-button.keep:hover:not(:disabled){background-color:#0056b3}.modal-action-button:disabled{background-color:#bdc3c7;cursor:not-allowed;opacity:.7}.widget-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;font-family:Arial,sans-serif;margin:0;max-width:300px;padding:12px;position:relative;width:100%}.widget-card.pending{-webkit-user-select:none;user-select:none}.widget-pending-overlay{align-items:center;background-color:#ffffffd9;border-radius:8px;bottom:0;cursor:wait;display:flex;flex-direction:column;gap:10px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:5}.widget-pending-overlay span{color:#555;font-weight:500}.spinner{animation:spin 1s ease infinite;border:4px solid #0000001a;border-left-color:#09f;border-radius:50%;height:36px;width:36px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.widget-card.inactive{background-color:#f8f9fa;border-color:#e9ecef;box-shadow:0 1px 2px #0000000d}.widget-card.inactive .widget-header h3{color:#6c757d}.widget-body.inactive-body{filter:grayscale(80%);opacity:.7;position:relative}.inactive-overlay{align-items:center;background-color:#f8f9fad9;border-radius:6px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;padding:10px;position:absolute;right:0;text-align:center;top:0;z-index:2}.inactive-label{background-color:#ffc107;border-radius:4px;color:#495057;font-size:1rem;font-weight:600;margin-bottom:8px;padding:2px 8px}.inactive-label.max-limit{background-color:#e74c3c;color:#fff}.inactive-overlay p{color:#495057;font-size:.85rem;margin:0 0 12px}.upgrade-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:6px 12px;transition:background-color .2s}.upgrade-button:hover{background-color:#0056b3}.ratio-section-placeholder{background-color:#e9ecef;border-radius:6px;cursor:help;height:110px;margin-top:10px}.widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.widget-header .toggle-container.widget-notification-toggle{flex-shrink:0;margin-right:10px}.widget-header h3{color:#333;cursor:grab;flex-grow:1;font-size:16px;font-weight:600;margin:0;padding:4px 48px 4px 0;text-align:center;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.widget-header h3:active{cursor:grabbing}.widget-header .remove-button{cursor:pointer;flex-shrink:0}.remove-button{background:none;border:none;color:#999;cursor:pointer;font-size:18px;opacity:.5;padding:2px 6px;position:relative;transition:all .2s ease;z-index:1}.remove-button:hover{background-color:#0000000d;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#f44336;opacity:1}.widget-body{display:flex;flex-direction:column;flex-grow:1;gap:8px}.widget-footer{justify-content:flex-end;margin-top:12px;min-height:36px}.crypto-row,.widget-footer{align-items:center;display:flex}.crypto-row{justify-content:space-between}.crypto-info{align-items:center;display:flex;gap:8px}.crypto-icon{border-radius:50%;height:24px;width:24px}.no-image{font-size:12px;height:24px;width:24px}.crypto-name{font-size:14px}.crypto-symbol{color:#666;font-size:12px}.crypto-price{color:#333;font-size:14px}.ratio-section{grid-gap:4px;align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:grid;gap:4px;grid-template-areas:"high-alert ratio-main checkpoint" "low-alert  trend-24h  checkpoint" "low-alert  trend-cp   checkpoint";grid-template-columns:auto 1fr auto;grid-template-rows:1fr auto 1fr;justify-items:center;margin-top:10px;min-height:110px;padding:10px 5px;position:relative}.checkpoint-delete-container,.ratio-center-area{display:none}.threshold-box{align-items:center;background-color:#fff;border:1px solid #d1d8e0;border-radius:4px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:center;justify-self:center;max-width:80px;min-width:65px;padding:5px;transition:all .2s ease-in-out}.threshold-box:hover{border-color:#007bff;box-shadow:0 0 5px #007bff4d}.threshold-box .threshold-label{color:#6c757d;font-size:.6rem;font-weight:600;margin-bottom:1px;text-transform:uppercase}.threshold-box .threshold-label.armed{color:#20c997}.threshold-box .threshold-label.disarmed{color:#adb5bd}.threshold-box .threshold-value{color:#212529;font-size:.85rem;font-weight:700;text-align:center;word-break:break-all}.threshold-box .threshold-status-dot{background-color:#adb5bd;border-radius:50%;height:6px;margin-top:3px;width:6px}.threshold-box .threshold-status-dot.armed{background-color:#20c997}.threshold-box.high{align-self:start;grid-area:high-alert}.threshold-box.low{align-self:end;grid-area:low-alert}.ratio-value-display{align-items:center;align-self:end;color:#343a40;cursor:default;display:flex;flex-direction:row;font-size:1.6rem;font-weight:700;gap:6px;grid-area:ratio-main;justify-content:center;padding-bottom:0;position:relative;top:17px}.ratio-value-display .trend-dot{height:10px;width:10px}.ratio-value-display.pulsate-checkpoint{animation:pulsate .75s ease-in-out infinite}.trend-indicator{align-items:flex-start;display:flex;font-size:.75rem;grid-area:trend-24h;justify-content:center;position:relative;top:.75rem;width:100%}.trend-indicator .trend-arrow{font-size:.9rem}.checkpoint-trend-container{align-items:flex-start;display:flex;font-size:.7rem;grid-area:trend-cp;justify-content:center;position:relative;top:1rem;width:100%}.checkpoint-container{align-items:center;align-self:end;box-sizing:border-box;display:flex;flex-direction:column;grid-area:checkpoint;justify-self:center;max-width:80px;position:relative;top:10px;width:100%}.checkpoint-icon-wrapper{align-items:center;display:flex;height:36px;justify-content:center;left:50%;position:absolute;top:-28px;transform:translateX(-50%);z-index:2}.kebab-icon{color:#adb5bd;cursor:pointer;font-size:40px;transition:color .2s}.kebab-icon:hover{color:#343a40}.kebab-button{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;margin:0;padding:0}.kebab-button:disabled .kebab-icon{color:#ced4da;cursor:not-allowed}.delete-checkpoint-button{align-items:center;background:#f1ecec;border:1px solid #e08a80;border-radius:50%;box-shadow:0 1px 3px #0003;color:#adb5bd;cursor:pointer;display:flex;justify-content:center;padding:2px;position:absolute;right:0;top:-58px;transition:all .2s ease-in-out;z-index:3}.delete-checkpoint-button:hover{background-color:#e74c3c;color:#fff;transform:scale(1.1)}.delete-checkpoint-button .material-icons{font-size:16px}.checkpoint-container .checkpoint-label-main{color:#6c757d;font-size:.6rem;font-weight:700;margin-bottom:2px;margin-top:8px;text-transform:uppercase}.toggle-container{align-items:center;display:flex;gap:4px;position:relative}.toggle-container .toggle-icon{color:#888;font-size:20px;margin-right:4px}.toggle-container .toggle-icon.active{color:#4caf50}.switch{display:inline-block;height:24px;position:relative;width:44px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:24px;bottom:0;box-shadow:inset 0 1px 3px #0000001a;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:background-color .3s ease}.slider:before{background-color:#fff;border-radius:50%;bottom:2px;box-shadow:0 1px 2px #0003;content:"";height:20px;left:2px;position:absolute;transition:transform .3s ease;width:20px}input:checked+.slider{background-color:#4caf50}input:checked+.slider:before{transform:translateX(20px)}.slider.round{border-radius:24px}.slider.round:before,.trend-dot{border-radius:50%}.trend-dot{height:8px;width:8px}.trend-dot.up{background-color:#4caf50}.trend-dot.down{background-color:#f44336}.trend-dot.neutral{background-color:#666}@keyframes pulsate-trend{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.trend-dot.pulsate-trend{animation:pulsate-trend .75s ease-in-out infinite}@keyframes pulsate{0%,to{color:#333;transform:scale(1)}50%{color:#1e90ff;transform:scale(1.05)}}.trend{align-items:center;display:inline-flex;gap:4px}.trend.up{color:#4caf50}.trend.down{color:#f44336}.trend.neutral{color:#666}.trend-arrow{font-size:14px}.loading-trend{color:#888;font-style:italic}.checkpoint-trend{align-items:center;display:flex;font-weight:500;gap:2px;position:relative}.checkpoint-trend:after{color:#6c757d;content:"since";font-size:.85rem;font-style:italic;left:100%;margin-left:8px;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap}.checkpoint-trend.up{color:#4caf50}.checkpoint-trend.down{color:#f44336}.checkpoint-trend.neutral{color:#666}.checkpoint-trend-arrow{font-size:.8rem}.checkpoint-trend-na{color:#666;font-size:.7rem;font-style:italic}.checkpoint-field{border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:.8rem;font-weight:700;margin-bottom:2px;overflow:hidden;padding:2px 4px;text-align:center;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap;width:100%}.checkpoint-field.active{background-color:#4caf50;border-color:#4caf50;color:#fff}.checkpoint-timestamp{align-items:center;color:#888;display:flex;flex-direction:column;font-size:.65rem;line-height:1.2;width:100%}.timestamp-line{display:block;text-align:center}.loading-historical{color:#888;font-size:12px;font-style:italic;margin-right:auto;padding-left:4px}.chart-icon-button{align-items:center;background:none;border:none;border-radius:12px;cursor:pointer;display:flex;justify-content:center;min-height:36px;min-width:40px;padding:6px;transition:all .2s ease}.chart-icon-button .material-icons{color:#666;font-size:24px}.chart-icon-button:hover:not(:disabled) .material-icons{color:#4caf50;transform:scale(1.1)}.chart-icon-button:hover:not(:disabled){background-color:#0000000d;border-radius:12px}.chart-icon-button:disabled{cursor:not-allowed}.chart-icon-button:disabled .material-icons{color:#ccc;opacity:.7}.checkpoint-display-row,.ratio-header-controls,.threshold-display-row{display:none}.upgrade-button-stripe{align-items:center;background:linear-gradient(135deg,#6772e5,#5469d4);border:none;border-radius:5px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s ease-in-out}.upgrade-button-stripe:hover:not(:disabled){background:linear-gradient(135deg,#7a8bff,#637dff);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.upgrade-button-stripe:disabled{background:#b0b8d9;cursor:not-allowed;opacity:.7}.upgrade-button-stripe .material-icons{font-size:18px}.upgrade-banner{background:linear-gradient(135deg,#f6d365,#fda085);border-radius:6px;box-shadow:0 2px 5px #0000001a;color:#333;margin:10px 0;padding:12px 15px;text-align:center}.upgrade-banner p{font-size:.9rem;font-weight:500;margin:0 0 10px}.confirmation-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.confirmation-modal-content{animation:confirmFadeIn .2s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 5px 20px #00000040;max-width:400px;padding:1.5rem 2rem;text-align:center;width:90%}@keyframes confirmFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirmation-modal-header{margin-bottom:1rem}.confirmation-modal-icon{color:#f39c12;font-size:48px}.confirmation-modal-header h2{color:#333;font-size:1.4rem;font-weight:600;margin:.5rem 0 0}.confirmation-modal-body p{color:#555;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.confirmation-modal-footer{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.confirmation-modal-button{border:none;border-radius:5px;cursor:pointer;font-size:.95rem;font-weight:500;min-width:120px;padding:.6rem 1.2rem;transition:background-color .2s,transform .2s}.confirmation-modal-button:hover:not(:disabled){transform:translateY(-2px)}.confirmation-modal-button.cancel{background-color:#6c757d;color:#fff}.confirmation-modal-button.cancel:hover:not(:disabled){background-color:#5a6268}.confirmation-modal-button.confirm.danger{background-color:#e74c3c;color:#fff}.confirmation-modal-button.confirm.danger:hover:not(:disabled){background-color:#c0392b}.confirmation-modal-button:disabled{background-color:#bdc3c7;cursor:not-allowed;opacity:.7}.confirmation-modal-content .modal-error-message{background-color:#fdd;border-radius:4px;margin-bottom:0;padding:10px}.save-status-indicator{align-items:center;animation:fadeInStatus .3s ease-out;border-radius:16px;box-shadow:0 2px 8px #00000026;display:flex;font-size:.85rem;font-weight:500;gap:8px;left:50%;padding:6px 12px;position:fixed;top:15px;transform:translateX(-50%);z-index:1500}@keyframes fadeInStatus{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.save-status-indicator.dirty{background-color:#fffbe6;border:1px solid #ffeeba;color:#8a6d3b}.save-status-indicator.saving{background-color:#e7f3ff;border:1px solid #bce8f1;color:#31708f}.save-status-indicator.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-spinner{animation:status-spin .75s linear infinite;border:2px solid;border-bottom:2px solid #0000;border-radius:50%;display:inline-block;height:14px;width:14px}@keyframes status-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.user-tier-badge{border-radius:10px;display:inline-block;font-size:.7rem;font-weight:600;line-height:1;margin-left:8px;padding:3px 8px;text-align:center;vertical-align:initial;white-space:nowrap}.user-tier-badge.tier-free{background-color:#ecf0f1;border:1px solid #bdc3c7;color:#34495e}.user-tier-badge.tier-premium{background-color:#f1c40f;border:1px solid #f39c12;color:#2c3e50}.user-tier-badge.tier-unknown{background-color:#e9ecef;border:1px solid #ced4da;color:#7f8c8d}.desktop-sidebar{background-color:#2c3e50;box-shadow:2px 0 5px #0000001a;color:#ecf0f1;display:none;display:flex;flex-direction:column;height:100vh;left:0;padding:20px 0;position:fixed;top:0;width:240px;z-index:1000}.sidebar-logo-section{align-items:center;border-bottom:1px solid #34495e;display:flex;margin-bottom:20px;padding:0 20px 20px}.sidebar-logo-img{height:32px;margin-right:10px;width:32px}.sidebar-app-name{font-size:1.2rem;font-weight:600}.sidebar-nav-list{flex-grow:1;list-style:none;margin:0;padding:0}.sidebar-nav-list li{margin:0}.sidebar-button,.sidebar-nav-item{align-items:center;background:none;border:none;color:#bdc3c7;cursor:pointer;display:flex;font-size:.95rem;padding:12px 20px;text-align:left;text-decoration:none;transition:background-color .2s,color .2s;width:100%}.sidebar-button .material-icons,.sidebar-nav-item .material-icons{font-size:22px;margin-right:15px}.sidebar-button:hover,.sidebar-nav-item:hover{background-color:#34495e;color:#fff}.sidebar-nav-item.active{background-color:#1abc9c;color:#fff;font-weight:500}.sidebar-user-section{border-top:1px solid #34495e;display:flex;flex-direction:column;gap:10px;padding:20px}.sidebar-user-section .user-info{align-items:center;display:flex;margin-bottom:10px}.sidebar-user-section .user-details{align-items:flex-start;display:flex;flex-direction:column;gap:4px;overflow:hidden}.sidebar-user-section .user-avatar-placeholder{font-size:32px;margin-right:10px}.sidebar-user-section .user-name{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-section .auth-button{background-color:#3498db;border-radius:4px;color:#fff;justify-content:center}.sidebar-user-section .auth-button:hover{background-color:#2980b9}.sidebar-user-section .auth-button .nav-label{flex-grow:1;text-align:center}@media (min-width:768px){.desktop-sidebar{display:flex}.App-content-wrapper-desktop{margin-left:240px}}.sidebar-nav-item.admin-link.active{background-color:#e74c3c}.legal-links-container{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:1rem}.legal-link-button{background:none;border:none;color:#6c757d;cursor:pointer;font:inherit;font-size:.8rem;padding:0;text-decoration:underline;transition:color .2s ease}.legal-link-button:hover{color:#343a40}.legal-link-separator{color:#adb5bd;font-size:.8rem}.bottom-tab-bar{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 5px #0000000d;display:none;height:60px;left:0;position:fixed;right:0;z-index:1000}.bottom-tab-bar .tab-item{align-items:center;background:none;border:none;color:#757575;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.7rem;justify-content:center;padding:4px 0;text-decoration:none}.bottom-tab-bar .tab-item .material-icons{font-size:24px;margin-bottom:2px}.bottom-tab-bar .tab-item.active{color:#007bff}.bottom-tab-bar .tab-item:hover:not(.active){color:#555}@media (max-width:767px){.bottom-tab-bar{display:flex}.App-content-wrapper-mobile{padding-bottom:60px}}.settings-page{margin:0 auto;max-width:800px;padding:2rem;text-align:center}.settings-page h2{color:#333;font-size:2rem;margin-bottom:2rem}.settings-page.loading{padding:20px;text-align:center}.settings-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem 2rem;text-align:left}.settings-card h3{border-bottom:1px solid #eee;color:#34495e;font-size:1.4rem;margin-top:0;padding-bottom:.75rem}.plan-details,.settings-card h3{margin-bottom:1.5rem}.plan-details p{color:#555;font-size:1.1rem;margin-bottom:1rem}.plan-badge{border-radius:15px;display:inline-block;font-size:1rem;font-weight:600;padding:4px 12px;text-transform:capitalize}.plan-badge.free{background-color:#ecf0f1;border:1px solid #bdc3c7;color:#34495e}.plan-badge.premium{background-color:#f1c40f;border:1px solid #f39c12;color:#2c3e50}.plan-limits{color:#333;list-style:"✓ ";padding-left:20px}.plan-limits li{font-size:1rem;margin-bottom:.5rem}.plan-actions p{color:#555;line-height:1.5;margin-bottom:1rem;margin-top:0}.manage-button{background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:background-color .2s}.manage-button:hover:not(:disabled){background-color:#2980b9}.manage-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.portal-info-text{color:#6c757d;font-size:.85rem;font-style:italic;margin-top:1rem}.account-action{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.action-description{flex-grow:1}.action-description h4{color:#333;font-size:1.1rem;margin:0 0 .25rem}.action-description p{color:#666;font-size:.9rem;margin:0;max-width:400px}.delete-account-button{background-color:initial;border:1px solid #e74c3c;border-radius:5px;color:#e74c3c;cursor:pointer;flex-shrink:0;font-size:.95rem;font-weight:500;padding:8px 16px;transition:all .2s ease-in-out}.delete-account-button:hover:not(:disabled){background-color:#e74c3c;color:#fff}.delete-account-button:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}.crypto-dropdown{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;width:100%}.crypto-dropdown,.dropdown-container{position:relative}.dropdown-header{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:5px;cursor:pointer;display:flex;justify-content:space-between;min-height:44px;padding:.6rem .8rem;transition:border-color .2s}.dropdown-header:hover{border-color:#999}.dropdown-header:focus-visible{border-color:#007bff;outline:2px solid #007bff;outline-offset:1px}.dropdown-placeholder{color:#888;flex-grow:1;font-size:.95rem;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-selected-item{align-items:center;display:flex;flex-grow:1;gap:.5rem;overflow:hidden}.selected-icon{flex-shrink:0;height:20px;width:20px}.dropdown-selected-item .no-image.small{align-items:center;background-color:#eee;border-radius:50%;color:#666;display:flex;flex-shrink:0;font-size:9px;height:20px;justify-content:center;width:20px}.selected-name{color:#333;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.selected-name,.selected-price{font-size:.9rem;font-weight:500;white-space:nowrap}.selected-price{color:#555;margin-left:auto;padding-left:.5rem}.dropdown-arrow{color:#666;font-size:.7rem;margin-left:.4rem;transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-list-portal-container{background-color:#fff;border:1px solid #ccc;box-shadow:0 5px 15px #0003;display:flex;flex-direction:column;overflow-y:auto;position:fixed;z-index:1050}.dropdown-list-portal-container.drop-down{border-radius:0 0 5px 5px}.dropdown-list-portal-container.drop-up{border-radius:5px 5px 0 0}.dropdown-list-portal-container.drop-up .dropdown-search-wrapper{order:0}.dropdown-list-portal-container.drop-up .dropdown-list{order:1}.dropdown-list-portal-container.drop-up .dropdown-counter{border-bottom:1px solid #eee;border-top:none;order:2}.dropdown-search-wrapper{background-color:#f8f9fa;border-bottom:1px solid #eee;flex-shrink:0;padding:.4rem .6rem}.dropdown-search-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:.95rem;outline:none;padding:.4rem .6rem;width:100%}.dropdown-search-input:focus{border-color:#007bff;box-shadow:0 0 0 1px #007bff}.dropdown-message{align-items:center;color:#666;display:flex;flex-grow:1;font-size:.9rem;justify-content:center;min-height:50px;padding:.8rem;text-align:center}.dropdown-message.error{color:#e74c3c}.dropdown-list{flex-grow:1;list-style:none;margin:0;overflow-y:auto;padding:0}.dropdown-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;padding:.5rem .8rem;transition:background-color .15s ease-in-out}.dropdown-item:last-child{border-bottom:none}.dropdown-item:focus,.dropdown-item:focus-visible,.dropdown-item:hover{background-color:#f0f8ff;outline:none}.dropdown-item[aria-selected=true]{background-color:#e7f3ff;font-weight:500}.crypto-icon,.no-image{flex-shrink:0;height:20px;margin-right:10px;width:20px}.no-image{align-items:center;background-color:#eee;border-radius:50%;color:#666;display:flex;font-size:9px;justify-content:center}.crypto-details{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.crypto-name{color:#333;font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crypto-symbol{color:#777;font-size:.75rem;margin-top:1px}.crypto-price{color:#2c3e50;font-size:.9rem;font-weight:500;margin-left:auto;padding-left:.5rem;white-space:nowrap}.dropdown-counter{border-top:1px solid #eee;color:#aaa;flex-shrink:0;font-size:.7rem;padding:.4rem .8rem;text-align:right}.dropdown-list-portal-container::-webkit-scrollbar{width:6px}.dropdown-list-portal-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 5px 5px 0}.dropdown-list-portal-container.drop-up::-webkit-scrollbar-track{border-radius:5px 0 0 5px}.dropdown-list-portal-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.dropdown-list-portal-container::-webkit-scrollbar-thumb:hover{background:#999}.dropdown-list-portal-container{scrollbar-color:#ccc #f1f1f1;scrollbar-width:thin}.mobile-drawer-overlay{background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1090}.mobile-drawer-menu{background-color:#fff;box-shadow:2px 0 8px #00000026;display:flex;flex-direction:column;height:100%;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease-in-out;width:260px;z-index:1100}.mobile-drawer-menu.open{transform:translateX(0)}.drawer-header{align-items:center;border-bottom:1px solid #e0e0e0;color:#333;display:flex;font-size:1.1rem;font-weight:600;justify-content:space-between;padding:15px 20px}.drawer-close-button{background:none;border:none;color:#757575;cursor:pointer;padding:5px}.drawer-close-button .material-icons{font-size:24px}.drawer-nav-list{flex-grow:1;list-style:none;margin:0;padding:10px 0}.drawer-nav-list li{margin:0}.drawer-nav-item{align-items:center;color:#555;display:flex;font-size:1rem;padding:12px 20px;text-decoration:none;transition:background-color .2s,color .2s}.drawer-nav-item .material-icons{color:#757575;font-size:22px;margin-right:15px}.drawer-nav-item:hover{background-color:#f5f5f5}.drawer-nav-item.active{background-color:#e9f5ff;color:#007bff;font-weight:500}.drawer-nav-item.active .material-icons{color:#007bff}.drawer-nav-item.admin-link.active{background-color:#fbebeb;color:#e74c3c}.drawer-nav-item.admin-link.active .material-icons{color:#e74c3c}.drawer-user-section{border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:10px;padding:20px}.drawer-user-info{align-items:center;color:#333;display:flex;font-weight:500;gap:10px;margin-bottom:5px;overflow:hidden}.drawer-user-details{align-items:flex-start;display:flex;flex-direction:column;gap:4px;overflow:hidden}.drawer-user-details span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-user-info .material-icons{flex-shrink:0;font-size:28px}.drawer-button.auth-button{align-items:center;background-color:#007bff;border:none;border-radius:4px;color:#fff;display:flex;font-size:.95rem;gap:8px;justify-content:center;padding:10px;text-decoration:none}.drawer-button.auth-button:hover{background-color:#0056b3}.feedback-modal-overlay{align-items:center;background-color:#000000a6;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1040}.feedback-modal-content{animation:feedbackModalFadeIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #00000040;max-width:500px;padding:1.5rem 2rem;width:100%}@keyframes feedbackModalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.feedback-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.feedback-modal-header h2{color:#333;font-size:1.4rem;font-weight:600;margin:0}.feedback-modal-close-button{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.8rem;font-weight:400;line-height:1}.feedback-modal-close-button:hover{color:#555}.feedback-modal-body{margin-bottom:1.5rem}.feedback-intro{color:#555;font-size:.95rem;line-height:1.5;margin-bottom:1rem}.textarea-container{position:relative}.feedback-modal-body textarea{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:12px 15px;resize:vertical;transition:border-color .2s;width:100%}.feedback-modal-body textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33;outline:none}.char-counter-container{color:#888;font-size:.8rem;margin-top:4px;text-align:right}.char-counter.invalid{color:#e74c3c;font-weight:500}.char-counter-hint{color:#f39c12;margin-left:8px}.feedback-error-message{background-color:#fdd;border:1px solid #fbb;border-radius:4px;color:#e74c3c;font-size:.9em;margin-top:1rem;padding:10px;text-align:center}.feedback-modal-footer{display:flex;justify-content:flex-end}.feedback-submit-button{background-color:#27ae60;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 25px;transition:background-color .2s}.feedback-submit-button:hover:not(:disabled){background-color:#219653}.feedback-submit-button:disabled{background-color:#a0d9b6;cursor:not-allowed}.unverified-actions-container{background-color:#fffbe6;border:1px solid #ffeeba;border-radius:5px;margin-top:15px;padding:15px;text-align:center}.unverified-message{color:#856404;font-size:.9em;line-height:1.5;margin:0 0 15px}.resend-button{background-color:#ffc107;border:1px solid #ffc107;border-radius:5px;color:#212529;cursor:pointer;font-size:1em;font-weight:500;padding:10px 15px;transition:background-color .2s,border-color .2s;width:100%}.resend-button:hover:not(:disabled){background-color:#e0a800;border-color:#d39e00}.resend-button:disabled{background-color:#ffeeba;border-color:#ffeeba;color:#856404;cursor:not-allowed;opacity:.7}.error-message-local{color:#721c24;font-size:.85em;margin-top:10px}.auth-page-container{align-items:center;background-color:#f4f7f6;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 120px);padding:20px}.auth-form-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0000001a;max-width:400px;padding:30px 40px;text-align:center;width:100%}.auth-form-container h2{color:#333;font-size:1.8em;font-weight:600;margin-bottom:25px}.auth-form .form-group{margin-bottom:20px;text-align:left}.auth-form .form-group label{color:#555;display:block;font-size:.95em;font-weight:500;margin-bottom:8px}.auth-form .form-group input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:1em;padding:12px 15px;transition:border-color .2s;width:100%}.auth-form .form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33;outline:none}.auth-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:500;margin-top:10px;padding:12px 15px;transition:background-color .2s;width:100%}.auth-button:hover:not(:disabled){background-color:#0056b3}.auth-button:disabled{background-color:#a0cfff;cursor:not-allowed}.auth-button.google-button{align-items:center;background-color:#4285f4;display:flex;justify-content:center;margin-top:0;text-decoration:none}.auth-button.google-button:hover:not(:disabled){background-color:#3367d6}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}.error-message,.success-message{font-size:.9em;margin-bottom:15px;padding:10px;text-align:center}.error-message{background-color:#fdd;border:1px solid #fbb;border-radius:4px;color:#e74c3c}.auth-switch-link{color:#555;font-size:.9em;margin-top:25px}.auth-switch-link a{color:#007bff;font-weight:500;text-decoration:none}.auth-switch-link a:hover{text-decoration:underline}.link-button{background:none;border:none;color:#007bff;cursor:pointer;font:inherit;font-weight:500;padding:0;text-decoration:none;transition:color .2s ease}.link-button:hover{color:#0056b3;text-decoration:underline}.auth-message-placeholder{align-items:center;border:1px dashed #ccc;border-radius:5px;box-sizing:border-box;display:flex;height:40px;justify-content:center;padding:10px;text-align:center}.auth-message-placeholder p{color:#888;font-size:.9em;margin:0}.auth-modal-overlay{align-items:flex-start;background-color:#000000a6;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:1rem;position:fixed;right:0;top:0;z-index:1040}.auth-modal-content{animation:authModalFadeIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #00000040;margin-top:5vh;max-width:420px;padding:20px;position:relative;width:100%}@keyframes authModalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close-button{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.8rem;font-weight:400;line-height:1;padding:5px;position:absolute;right:10px;top:10px}.auth-modal-close-button:hover{color:#555}.auth-modal-content .auth-form-container{box-shadow:none;max-width:none;padding:0}.session-modal-overlay{align-items:center;background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.session-modal-content{animation:fadeIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 5px 20px #0000004d;max-width:420px;padding:1.5rem 2rem;text-align:center;width:90%}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.session-modal-header{margin-bottom:1rem}.session-modal-icon{color:#e74c3c;font-size:48px}.session-modal-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:.5rem 0 0}.session-modal-body p{color:#555;font-size:1rem;line-height:1.5;margin:0 0 1rem}.session-modal-body p:last-of-type{color:#777;font-size:.9rem;margin-bottom:1.5rem}.session-modal-footer{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.session-modal-button{border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:500;min-width:150px;padding:.75rem 1.5rem;transition:background-color .2s,transform .2s}.session-modal-button:hover{transform:translateY(-2px)}.session-modal-button.guest{background-color:#6c757d;color:#fff}.session-modal-button.guest:hover{background-color:#5a6268}.session-modal-button.login{background-color:#007bff;color:#fff}.session-modal-button.login:hover{background-color:#0056b3}.policies-page-container{align-items:center;background-color:#f4f7f6;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.policies-form-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0000001a;max-width:480px;padding:30px 40px;text-align:center;width:100%}.policies-logo{height:64px;margin-bottom:1rem;width:64px}.policies-form-container h2{color:#333;font-size:1.8em;font-weight:600;margin-bottom:1rem}.policies-intro{color:#555;font-size:1rem;line-height:1.5;margin-bottom:2rem}.policies-form{display:flex;flex-direction:column;gap:1.5rem}.policy-item{align-items:center;display:flex;gap:12px;text-align:left}.policy-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;width:20px}.policy-item label{color:#333;cursor:pointer;font-size:1rem}.policy-item a{color:#007bff;font-weight:500;text-decoration:none}.policy-item a:hover{text-decoration:underline}.policies-button{background-color:#27ae60;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:500;margin-top:1rem;padding:12px 15px;transition:background-color .2s;width:100%}.policies-button:hover:not(:disabled){background-color:#219653}.policies-button:disabled{background-color:#a0d9b6;cursor:not-allowed}.policies-form-container .error-message{background-color:#fdd;border:1px solid #fbb;border-radius:4px;color:#e74c3c;font-size:.9em;margin-bottom:0;margin-top:0;padding:10px;text-align:center}.policy-item label .link-button{background:none;border:none;color:#007bff;cursor:pointer;font:inherit;font-weight:500;padding:0;text-decoration:underline}.policy-item label .link-button:hover{color:#0056b3}.admin-panel{display:flex;flex-direction:column;height:100%;width:100%}.admin-header{align-items:center;background-color:#34495e;box-shadow:0 2px 4px #0003;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.admin-header h1{font-size:1.5rem;margin:0}.admin-exit-link{align-items:center;border-radius:5px;color:#ecf0f1;display:flex;font-weight:500;gap:8px;padding:8px 12px;text-decoration:none;transition:background-color .2s ease-in-out}.admin-exit-link:hover{background-color:#ffffff1a}.admin-exit-link .material-icons{font-size:20px}.admin-content{background-color:#f4f7f6;flex-grow:1;padding:2rem}.user-detail-page h3,.user-list-page h3{color:#333;font-size:1.8rem;margin-bottom:1.5rem;margin-top:0}.user-list-controls{margin-bottom:1.5rem}.search-input{border:1px solid #ccc;border-radius:5px;font-size:1rem;max-width:400px;padding:10px 15px;width:100%}.user-list-table-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.subscriptions-table,.user-list-table{border-collapse:collapse;width:100%}.subscriptions-table td,.subscriptions-table th,.user-list-table td,.user-list-table th{border-bottom:1px solid #eee;padding:12px 15px;text-align:left}.subscriptions-table th,.user-list-table th{background-color:#f8f9fa;color:#555;font-weight:600}.user-list-table tbody tr:hover{background-color:#f1f1f1}.user-list-table a{color:#007bff;font-weight:500;text-decoration:none}.user-list-table a:hover{text-decoration:underline}.pagination-controls{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:1.5rem}.pagination-controls button{background-color:#fff;border:1px solid #ccc;border-radius:5px;cursor:pointer;padding:8px 12px}.pagination-controls button:disabled{cursor:not-allowed;opacity:.5}.user-detail-page a{color:#007bff;display:inline-block;margin-bottom:1.5rem;text-decoration:none}.user-info-grid{grid-gap:1rem;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem;padding:1.5rem}.user-info-grid div{word-break:break-all}.subscriptions-section{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.subscriptions-section h4{font-size:1.4rem;margin-bottom:1rem;margin-top:0}.subscriptions-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.subscriptions-actions button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 15px}.subscriptions-actions button:disabled{background-color:#ccc;cursor:not-allowed}.subscriptions-actions button+button{background-color:#dc3545}.status-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:3px 8px;text-transform:capitalize}.status-badge.active{background-color:#28a745}.status-badge.canceled{background-color:#6c757d}.status-badge.past_due{background-color:#dc3545}.policy-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1100}.policy-modal-content{background-color:#fff;border-radius:8px;display:flex;flex-direction:column;height:80vh;max-width:800px;overflow:hidden;width:90%}.policy-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.policy-modal-header h2{font-size:1.2rem;margin:0}.policy-modal-close-button{background:none;border:none;color:#888;cursor:pointer;font-size:1.8rem}.policy-modal-body{flex-grow:1;overflow-y:auto;padding:1.5rem}.policy-text-content{word-wrap:break-word;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.9rem;line-height:1.6;white-space:pre-wrap}.policy-modal-footer{border-top:1px solid #e0e0e0;flex-shrink:0;padding:1rem 1.5rem;text-align:right}.policy-modal-button{background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:.6rem 1.2rem}.notification-container{display:flex;justify-content:center;left:0;padding:10px 0;pointer-events:none;position:fixed;top:0;width:100%;z-index:2000}.notification-banner{align-items:center;background-color:#3498dbf2;border:1px solid #fff3;border-radius:6px;box-shadow:0 4px 12px #00000040;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;justify-content:center;max-width:600px;min-height:50px;overflow:hidden;padding:10px 20px;pointer-events:all;text-align:center;width:90%}.notification-banner-success{background-color:#27ae60f2}.notification-banner-error{background-color:#e74c3cf2}.notification-banner-warning{background-color:#f39c12f2}.notification-message{font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:normal;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-120%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-120%)}}.slide-in{animation:slideIn .4s cubic-bezier(.25,.8,.25,1) forwards}.slide-out{animation:slideOut .3s cubic-bezier(.55,.085,.68,.53) forwards}
/*# sourceMappingURL=main.259b6f78.css.map*/