:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;--bg-body: #f0f2f5;--bg-card: #ffffff;--bg-input: #ffffff;--text-primary: #1a1a1a;--text-secondary: #65676b;--border-color: #e4e6eb;--primary-color: #1877f2;--primary-hover: #166fe5;--accent-green: #36a420;--accent-red: #ff0000;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--radius-md: 8px;--radius-lg: 12px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-body);color:var(--text-primary)}*{box-sizing:border-box}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#bcc0c4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a0a4a8}.info-tooltip{position:fixed;background:#f8f9fa;color:var(--text-primary);padding:12px 16px;border-radius:8px;font-size:.85rem;z-index:10000;pointer-events:none;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #0000000d;max-width:300px;white-space:normal;transition:opacity .2s ease-in-out;border:1px solid var(--border-color);line-height:1.5;font-weight:400}.tooltip-trigger{display:inline-flex;align-items:center;justify-content:center}.currency-popup-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.currency-popup{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;width:90%;max-width:800px;box-shadow:var(--shadow-lg);position:relative;border:1px solid var(--border-color);animation:slideUp .3s ease-out}.popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.popup-title{display:flex;align-items:center;gap:12px}.popup-title img{width:32px;height:32px;border-radius:50%;object-fit:cover}.popup-title h2{font-size:1.5rem;margin:0;color:var(--text-primary)}.popup-title span{color:var(--text-secondary);font-size:1.1rem}.close-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.rate-info{margin-bottom:20px;background:var(--bg-hover, #f1f3f5);padding:12px 16px;border-radius:var(--radius-md, 8px);display:flex;justify-content:space-around;flex-wrap:wrap;gap:10px;border:1px solid var(--border-color, #e2e8f0)}.rate-info p{margin:0;font-size:1rem;color:var(--text-primary, #1a202c);font-weight:500;font-family:monospace}.graph-container{width:100%;height:400px;margin-bottom:20px}.custom-tooltip{background-color:#ffffff59;-webkit-backdrop-filter:blur(.1px);backdrop-filter:blur(.1px);border-radius:8px;box-shadow:0 2px 6px #0000001a;padding:6px;color:var(--text-primary);border:1px solid var(--border-color);min-width:fit-content}.tooltip-date{margin:0 0 4px;color:var(--text-secondary);font-size:.75rem;border-bottom:1px solid var(--border-color);padding-bottom:4px}.tooltip-rates p{margin:2px 0;font-size:.75rem;font-family:monospace;color:var(--text-primary);font-weight:500;line-height:1.2}.time-ranges{display:flex;justify-content:center;gap:8px;margin-top:10px}.range-btn{padding:6px 16px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);border-radius:20px;cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:500}.range-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.range-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.loading-graph{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:var(--text-secondary)}@media(max-width:768px){.currency-popup{padding:16px;width:95%;max-height:90vh;overflow-y:auto}.popup-header{margin-bottom:16px}.popup-title h2{font-size:1.2rem}.graph-container{height:50vh;min-height:300px}.rate-info{flex-direction:column;align-items:center;gap:8px}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.custom-select{position:relative;min-width:140px}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;cursor:pointer;width:100%;transition:all .2s;-webkit-user-select:none;user-select:none}.custom-select-trigger:hover{border-color:#cbd2d9}.custom-select.open .custom-select-trigger{border-color:var(--primary-color);box-shadow:0 0 0 2px #1877f233}.trigger-content{display:flex;align-items:center;gap:8px}.trigger-icon{color:var(--text-secondary)}.trigger-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{color:var(--text-secondary);transition:transform .2s;margin-left:8px}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:50;max-height:250px;overflow-y:auto;animation:fadeIn .1s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.custom-select-option{padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color .1s;color:var(--text-primary);font-size:.9rem;white-space:nowrap}.option-label{text-align:left;flex:1}.custom-select-option:hover{background-color:var(--bg-body)}.custom-select-option.selected{background-color:#1877f214;color:var(--primary-color);font-weight:500}.check-icon{color:var(--primary-color)}.searchable-select{position:relative;display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:150px}.select-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.select-trigger{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-input);color:var(--text-primary);font-size:1rem;cursor:pointer;width:100%;text-align:left;transition:all .2s}.select-trigger:hover{border-color:var(--text-secondary)}.select-trigger:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1877f233}.selected-value{display:flex;align-items:center;gap:.75rem}.selected-value img{width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 1px 2px #0000001a}.chevron{transition:transform .2s;color:var(--text-secondary)}.chevron.open{transform:rotate(180deg)}.select-dropdown{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:4px;z-index:100;box-shadow:var(--shadow-md);display:flex;flex-direction:column;max-height:300px;overflow:hidden}.dropdown-search{padding:.75rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);background-color:var(--bg-body)}.dropdown-search input{background:transparent;border:none;color:var(--text-primary);outline:none;width:100%;font-size:.95rem}.clear-search-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:50%;transition:all .2s}.clear-search-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.dropdown-list{overflow-y:auto;flex:1}.dropdown-item{padding:.75rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background-color .1s;border-bottom:1px solid transparent}.dropdown-item:hover{background-color:var(--bg-body)}.dropdown-item.selected{background-color:#e7f3ff;color:var(--primary-color)}.dropdown-item img{width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 1px 2px #0000001a}.item-code{font-weight:600;min-width:40px}.item-name{color:var(--text-secondary);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item.selected .item-name{color:var(--primary-color)}.no-options{padding:1.5rem;text-align:center;color:var(--text-secondary);font-size:.95rem}.star-icon{margin-right:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s}.star-icon:hover{transform:scale(1.1)}.currency-converter{background-color:var(--bg-card);padding:1.5rem;border-radius:var(--radius-lg);margin-bottom:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.converter-inputs{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.input-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:150px}.input-group label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.input-group input{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-input);color:var(--text-primary);font-size:1rem;transition:border-color .2s}.amount-input-wrap{position:relative;display:flex;align-items:center}.amount-input-wrap input{padding-right:2.25rem;width:100%}.amount-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:1.2rem;line-height:1;width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer}.amount-clear-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.amount-clear-btn:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1877f233}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1877f233}.swap-btn{background-color:var(--bg-body);border:1px solid var(--border-color);color:var(--text-secondary);width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;margin-bottom:2px}.swap-btn:hover{background-color:var(--border-color);color:var(--text-primary);transform:rotate(180deg)}.converter-result{margin-top:1.5rem;text-align:center;padding-top:1rem;border-top:1px solid var(--border-color);color:var(--text-secondary)}.result-line-from{font-size:1.2rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary);white-space:normal;word-break:break-word;overflow-wrap:break-word;line-height:1.3}.result-line-equals{font-size:1.2rem;color:var(--text-secondary);margin-bottom:.5rem}.result-line-to{font-size:1.5rem;font-weight:700;color:var(--primary-color);display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap;white-space:normal;word-break:break-word;overflow-wrap:break-word;line-height:1.3}.result-value{font-weight:800;color:var(--primary-color);font-size:1.8rem;word-break:break-all}.decimal-part{font-size:.6em;opacity:.8;font-weight:600}@media(max-width:600px){.currency-converter{padding:1rem;margin-bottom:1.5rem}.converter-inputs{flex-direction:column;align-items:stretch}.swap-btn{align-self:center;transform:rotate(90deg);margin:10px 0}.result-line-from{font-size:1rem}.result-line-to{font-size:1.2rem;flex-direction:column;align-items:center}.result-value{font-size:1.4rem}}@media(max-height:500px){.currency-converter{padding:.75rem;margin-bottom:1rem}.converter-inputs{gap:.5rem}.currency-converter .input-group label,.currency-converter .select-label{font-size:.75rem;margin-bottom:0}.currency-converter .input-group input,.currency-converter .select-trigger{padding:.4rem .6rem;font-size:.9rem;min-height:36px}.currency-converter .searchable-select,.currency-converter .input-group{gap:.25rem}.swap-btn{width:32px;height:32px;margin:2px 0}.swap-btn svg{width:16px;height:16px}.converter-result{margin-top:.75rem;padding-top:.5rem;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.result-line-from,.result-line-equals{font-size:1rem;margin-bottom:0}.result-line-to{font-size:1.1rem;flex-direction:row;gap:4px}.result-value{font-size:1.2rem}}.dashboard{max-width:1200px;margin:0 auto;padding:30px 20px}.dashboard-header{text-align:center;margin-bottom:40px}.dashboard-header h1{font-size:2.5rem;font-weight:800;margin-bottom:10px;background:linear-gradient(135deg,var(--primary-color),#8a2be2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.last-updated{font-size:.9rem;color:var(--text-secondary)}.filters-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:25px;background:var(--bg-card);padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-bar{display:flex;align-items:center;background:var(--bg-input);padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);transition:border-color .2s;color:var(--text-secondary)}.search-bar:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px #1877f233}.search-bar input{border:none;outline:none;margin-left:8px;font-size:.95rem;background:transparent;color:var(--text-primary);width:200px}.select-input{padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);font-size:.95rem;color:var(--text-primary);cursor:pointer;transition:all .2s;outline:none}.select-input:hover{border-color:#cbd2d9}.select-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #1877f233}.refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s}.refresh-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.refresh-btn:active{transform:translateY(0)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.currency-list{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--border-color);position:relative}.list-header{display:grid;grid-template-columns:80px 60px 80px 1fr 150px 140px;align-items:center;padding:18px 24px;background:#f8f9fa;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.header-cell{cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .2s;-webkit-user-select:none;user-select:none}.header-cell:hover{color:var(--primary-color)}.currency-row{display:grid;grid-template-columns:80px 60px 80px 1fr 150px 140px;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);transition:background .1s}.mobile-row-content{display:none}.currency-row:last-child{border-bottom:none}.currency-row:hover{background:#f7f8fa}.row-star{display:inline-flex;margin-right:6px;cursor:pointer;transition:transform .1s}.row-star:hover{transform:scale(1.2)}.col-rank{font-weight:600;color:var(--text-secondary);font-size:.9rem;display:flex;align-items:center}.col-thumb img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 2px 4px #0000001a}.col-code{font-weight:700;color:var(--text-primary);font-size:.95rem}.col-name{color:var(--text-secondary);font-weight:500}.col-value{font-family:SF Mono,Roboto Mono,monospace;font-weight:600;text-align:right;color:var(--text-primary)}.col-value .decimal-part{font-size:.85em;opacity:.7;font-weight:500}.col-change{text-align:right;font-weight:600;padding:4px 10px;border-radius:20px;font-size:.9rem;width:fit-content;justify-self:end}.col-change.positive{color:var(--accent-green);background:#36a4201a}.col-change.negative{color:var(--accent-red);background:#ff00001a}.loading,.no-results,.error-message{padding:60px;text-align:center;color:var(--text-secondary);font-size:1.1rem}.error-message{color:#d32f2f;background:#ffebee;border-radius:var(--radius-md);margin-bottom:20px}.mobile-sort-container{display:none}@media(max-width:768px){.dashboard{padding:15px 10px}.dashboard-header h1{font-size:1.8rem}.filters-container{flex-direction:column;align-items:stretch;padding:15px;gap:12px}.filter-group{flex-direction:column;width:100%;align-items:stretch}.search-bar,.select-input,.refresh-btn{width:100%}.search-bar input{width:100%;min-width:0}.list-header{display:none}.mobile-sort-container{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8f9fa;border-bottom:1px solid var(--border-color)}.mobile-sort-container .custom-select{flex:1;min-width:0}.sort-direction-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all .2s}.sort-direction-btn:active{background:var(--border-color)}.currency-row{display:flex;align-items:flex-start;padding:16px;grid-template-columns:none;min-width:0}.col-rank{width:60px;min-width:60px;font-size:.85rem;color:var(--text-secondary);flex-shrink:0}.col-thumb{width:40px;min-width:40px;margin-right:12px;flex-shrink:0}.col-thumb img{width:36px;height:36px}.desktop-col{display:none!important}.mobile-row-content{display:flex;flex-direction:column;flex:1;gap:4px;width:100%}.row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.row-header .col-code{font-size:1rem;font-weight:700}.row-header .col-change{font-size:.85rem;padding:2px 8px}.row-value{text-align:right;width:100%;margin-bottom:2px}.row-value .col-value{font-size:1.1rem;font-weight:600;display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-value .decimal-part{font-size:.5em!important;opacity:.8}.large-value-container{text-align:left;margin-left:-112px;width:calc(100% + 112px);margin-top:.5rem;margin-bottom:.25rem;display:block;position:relative;z-index:1}.large-value-container .col-value{text-align:left;display:block;line-height:1.2}.col-value .integer-part{font-weight:900}.currency-symbol{font-size:.5em;opacity:.8;margin-right:4px;vertical-align:middle}.mobile-row-content{gap:6px}.row-footer{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.row-footer .col-name{font-size:.8rem;color:var(--text-secondary);display:block;white-space:normal;overflow:visible;text-overflow:clip;margin-right:8px;line-height:1.2;flex:0 1 auto}.desktop-tooltip-trigger{display:none!important}.mobile-info-indicator{display:inline-flex!important}.mobile-tooltip-area{margin-top:10px;background:#f8f9fa;padding:10px;border-radius:8px;border:1px solid var(--border-color);animation:fadeIn .2s ease-out;color:var(--text-primary);box-shadow:var(--shadow-sm);margin-left:-112px;width:calc(100% + 112px);font-size:.8rem;line-height:1.3}.mobile-tooltip-area div{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.view-details-link{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color);text-align:center;color:var(--primary-color);font-size:.8rem;font-weight:600;cursor:pointer}}.converter-toggle-container{scroll-margin-top:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.quicklinks-root{position:fixed;z-index:1000}.quicklinks-fab{width:52px;height:52px;border-radius:999px;position:relative;border:1px solid var(--border-color);background:#ffffffe6;color:var(--text-secondary);box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:border-color .2s,color .2s,background .2s,box-shadow .2s,transform .1s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.quicklinks-fab.is-refreshing:after{content:"";position:absolute;inset:-6px;border-radius:999px;border:2px solid rgba(24,119,242,.28);border-top-color:#1877f2e6;animation:quicklinks-refresh-spin .85s linear infinite;pointer-events:none}@keyframes quicklinks-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.quicklinks-fab.is-online{background:#36a4202e;border-color:#36a42061;color:#12440b;box-shadow:0 10px 26px #36a4201f,var(--shadow-md)}.quicklinks-fab.is-offline{background:#ff00001a;border-color:#ff000038;color:#780000;box-shadow:0 10px 26px #ff00001f,var(--shadow-md)}.quicklinks-fab.is-paused{background:#ffffffe6}.quicklinks-fab:hover{border-color:#cbd2d9;color:var(--text-primary)}.quicklinks-fab:active{cursor:grabbing;transform:scale(.98)}.quicklinks-panel{position:absolute;right:0;top:60px;width:260px;background:#fffffffa;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.quicklinks-panel-body{max-height:min(70vh,520px);overflow:auto}.quicklinks-links-actions{padding:8px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.quicklinks-logs{display:flex;flex-direction:column;gap:8px}.quicklinks-logs-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.quicklinks-logs-filter{display:flex;flex-direction:column;gap:6px}.quicklinks-logs-pagination{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.quicklinks-logs-hint{color:var(--text-secondary);font-size:.8rem}.quicklinks-log-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border-color);background:var(--bg-card);border-radius:12px}.quicklinks-log-main{min-width:0;display:flex;flex-direction:column;gap:4px}.quicklinks-log-action{font-weight:800;color:var(--text-primary);font-size:.9rem}.quicklinks-log-meta{color:var(--text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.quicklinks-log-side{flex-shrink:0;text-align:right;display:flex;flex-direction:column;gap:4px}.quicklinks-log-time{color:var(--text-secondary);font-size:.75rem}.quicklinks-log-device{color:var(--text-secondary);font-size:.75rem;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quicklinks-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-color)}.quicklinks-title{font-weight:700;color:var(--text-primary);font-size:.95rem}.quicklinks-header-actions{display:inline-flex;align-items:center;gap:4px}.quicklinks-icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}.quicklinks-icon-btn:hover{background:#f7f8fa;color:var(--text-primary)}.quicklinks-icon-btn.danger{color:var(--accent-red)}.quicklinks-icon-btn.danger:hover{background:#ff000014}.quicklinks-empty{padding:14px 12px;color:var(--text-secondary);font-size:.9rem}.quicklinks-list{display:flex;flex-direction:column;padding:8px;gap:6px}.quicklinks-item{display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:10px;text-decoration:none;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);transition:border-color .2s,transform .1s}.quicklinks-item:hover{border-color:#cbd2d9;transform:translateY(-1px)}.quicklinks-item:active{transform:translateY(0)}.quicklinks-item-title{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quicklinks-manage{padding:10px}.quicklinks-manage-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.quicklinks-manage-actions{display:flex;gap:8px;margin-bottom:10px}.quicklinks-form{display:flex;flex-direction:column;gap:10px}.quicklinks-form-hint{font-size:.85rem;color:var(--text-secondary)}.quicklinks-form-title{font-weight:700;color:var(--text-primary);font-size:.9rem}.quicklinks-field{display:flex;flex-direction:column;gap:6px}.quicklinks-label{font-size:.82rem;color:var(--text-secondary);font-weight:600}.quicklinks-input{padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);outline:none;font-size:.92rem}.quicklinks-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #1877f233}.quicklinks-primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);border:none;background:var(--primary-color);color:#fff;font-weight:700;cursor:pointer;transition:background .2s,transform .1s}.quicklinks-primary-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.quicklinks-primary-btn:active{transform:translateY(0)}.quicklinks-primary-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.quicklinks-secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 10px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffffe6;color:var(--text-primary);font-weight:700;cursor:pointer;transition:border-color .2s,transform .1s,background .2s}.quicklinks-secondary-btn:hover{border-color:#cbd2d9;transform:translateY(-1px)}.quicklinks-secondary-btn:active{transform:translateY(0)}.quicklinks-form-actions{display:flex;gap:8px}.quicklinks-form-error{font-size:.85rem;color:var(--accent-red);background:#ff000014;border:1px solid rgba(255,0,0,.18);padding:8px 10px;border-radius:10px}.quicklinks-form-success{font-size:.85rem;color:var(--accent-green);background:#36a4201a;border:1px solid rgba(54,164,32,.18);padding:8px 10px;border-radius:10px}.quicklinks-list-manage{padding:0}.quicklinks-item-manage{padding:8px;text-decoration:none}.quicklinks-item-link{text-decoration:none;color:inherit;flex:1;min-width:0;padding:2px 6px 2px 2px}.quicklinks-item-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.quicklinks-editor{margin-top:10px}.quicklinks-password{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color)}.quicklinks-item-manage.dragging{opacity:.5;background:var(--bg-hover, #f7f8fa)}.quicklinks-item-manage.drag-target{background:var(--bg-hover, #f7f8fa);outline:2px dashed var(--primary-color, #1877f2);outline-offset:-2px}.logs-page{max-width:1100px;margin:0 auto;padding:16px;color:var(--text-primary)}.logs-page-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:14px}.logs-title{font-weight:900;font-size:1.15rem;text-align:center}.logs-back{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);text-decoration:none;font-weight:700}.logs-logout{justify-self:end;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);border-radius:10px;padding:8px 10px;cursor:pointer}.logs-login{max-width:420px;margin:30px auto 0;border:1px solid var(--border-color);border-radius:14px;padding:14px;background:var(--bg-card)}.logs-login-row{display:flex;flex-direction:column;gap:6px}.logs-toolbar{display:grid;grid-template-columns:1fr 1fr 240px 240px;gap:10px;align-items:end;margin-bottom:10px}.logs-controls-toggle{display:none;width:100%;border-radius:12px;padding:10px 12px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-weight:900;cursor:pointer;margin-bottom:10px}.logs-date-range,.logs-multi{position:relative}.logs-date-input{cursor:pointer;width:100%;text-align:left;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffffeb}.logs-date-input:focus-visible{outline:3px solid rgba(24,119,242,.22);outline-offset:2px}.logs-date-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-date-trigger-icons{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);flex:0 0 auto}.logs-date-popover{position:absolute;top:calc(100% + 8px);left:0;right:auto;width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid var(--border-color);background:#fffffffa;border-radius:16px;padding:12px;z-index:50;box-shadow:0 18px 50px #00000047;overflow-x:hidden}.logs-multi-trigger{cursor:pointer;width:100%;text-align:left;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffffeb}.logs-multi-trigger:focus-visible{outline:3px solid rgba(24,119,242,.22);outline-offset:2px}.logs-multi-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-multi-popover{position:absolute;top:calc(100% + 8px);left:0;right:auto;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid var(--border-color);background:#fffffffa;border-radius:16px;padding:12px;z-index:60;box-shadow:0 18px 50px #00000047;overflow-x:hidden}.logs-multi-top{display:flex;gap:8px;margin-bottom:10px}.logs-multi-btn{flex:1}.logs-multi-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto;padding-top:10px;border-top:1px solid var(--border-color)}.logs-check-row{display:flex;align-items:center;gap:10px;padding:6px;border-radius:10px}.logs-check-row:hover{background:#00000005}.logs-check-text{font-weight:700;color:var(--text-primary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-multi-empty{color:var(--text-secondary);font-size:.9rem;padding:6px 2px}.logs-date-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.logs-date-preset{width:100%;padding:9px 10px;font-weight:900}.logs-date-preset.is-active{background:#1877f21f;border-color:#1877f24d;color:#1877f2}.logs-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:10px;border-top:1px solid var(--border-color)}.logs-date-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--border-color)}.logs-date-cancel{color:var(--text-secondary)}.logs-date-apply{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.logs-date-apply:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.logs-sort-row{display:flex;gap:8px;align-items:center}.logs-filter{display:flex;flex-direction:column;gap:6px}.logs-label{font-size:.85rem;font-weight:700;color:var(--text-secondary)}.logs-input{border:1px solid var(--border-color);border-radius:10px;padding:10px;background:#ffffffe6;color:var(--text-primary);font:inherit}.logs-actions{display:inline-flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.logs-primary,.logs-secondary{border-radius:10px;padding:10px;border:1px solid var(--border-color);cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--bg-card);color:var(--text-primary)}.logs-primary:hover,.logs-secondary:hover{background:#00000005}.logs-primary:focus-visible,.logs-secondary:focus-visible{outline:3px solid rgba(24,119,242,.22);outline-offset:2px}.logs-primary{margin-top:10px;width:100%}.logs-hint{color:var(--text-secondary);font-size:.85rem;margin-bottom:10px}.logs-count-row{margin-bottom:10px}.logs-count-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.logs-count-btn{flex-shrink:0}.logs-new-banner{width:100%;position:sticky;top:10px;z-index:5;border-radius:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.24);background:linear-gradient(90deg,#7ed5ff42,#a16eff38);color:var(--text-primary);font-weight:900;cursor:pointer;animation:logs-banner-in .24s ease-out;box-shadow:0 14px 40px #00000047;margin-bottom:10px}.logs-error{color:var(--accent-red);font-size:.9rem;margin-top:8px}.logs-empty{color:var(--text-secondary);padding:10px 0}.logs-list{display:flex;flex-direction:column;gap:8px}.logs-list-head{display:grid;grid-template-columns:160px 1fr 140px 160px;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--border-color);background:#ffffff0f;border-radius:12px;margin-bottom:10px}.logs-head-btn{background:transparent;border:none;padding:6px;color:var(--text-secondary);font-weight:900;font-size:.8rem;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;text-align:left}.logs-head-btn:hover{color:var(--text-primary)}.logs-skeleton{display:flex;flex-direction:column;gap:10px;padding:8px 0}.logs-skeleton-row{border:1px solid var(--border-color);background:var(--bg-card);border-radius:12px;padding:12px;overflow:hidden;position:relative}.logs-skeleton-row:after{content:"";position:absolute;inset:0;transform:translate(-60%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);animation:logs-shimmer 1.1s infinite}.logs-skeleton-top{height:14px;width:140px;border-radius:999px;background:#ffffff38;margin-bottom:10px}.logs-skeleton-bottom{height:12px;width:75%;border-radius:8px;background:#ffffff2e}.logs-action-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#0000001f;border:1px solid rgba(255,255,255,.12);font-weight:900;font-size:.78rem;letter-spacing:.2px}.logs-offline-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f59e0b29;border:1px solid rgba(245,158,11,.34);font-weight:900;font-size:.78rem;letter-spacing:.2px}.logs-offline-pill-pending{background:#94a3b824;border-color:#94a3b847}.logs-tone-green{background:#10b9812e;border-color:#10b98159}.logs-tone-blue{background:#3b82f629;border-color:#3b82f657}.logs-tone-purple{background:#a855f729;border-color:#a855f757}.logs-tone-teal{background:#14b8a629;border-color:#14b8a657}.logs-tone-amber{background:#f59e0b2e;border-color:#f59e0b57}.logs-tone-red{background:#ef444429;border-color:#ef444457}.logs-tone-gray{background:#94a3b829;border-color:#94a3b847}.logs-tone-neutral{background:#0000001f;border-color:#ffffff1f}.logs-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--border-color);background:var(--bg-card);border-radius:12px}.logs-pending{border:1px dashed rgba(245,158,11,.45);background:#f59e0b0f;border-radius:14px;padding:12px;margin-bottom:10px}.logs-pending-title{font-weight:900;font-size:.85rem;letter-spacing:.3px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.logs-pending-list{display:flex;flex-direction:column;gap:8px}.logs-pending-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px dashed rgba(148,163,184,.55);background:#ffffffb3;border-radius:12px}.logs-row-new{animation:logs-pop .42s ease-out,logs-glow 1.8s ease-out;box-shadow:0 10px 30px #0000002e;border-color:#7ed5ff8c;background:linear-gradient(180deg,#7ed5ff1f,#ffffff08);position:relative}.logs-row-new:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:999px;background:#7ed5ffe6}.logs-row-main{min-width:0;display:flex;flex-direction:column;gap:4px}.logs-row-action{display:flex;align-items:center;gap:10px}.logs-row-meta{color:var(--text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:700px}.logs-row-side{flex-shrink:0;text-align:right;display:flex;flex-direction:column;gap:4px}.logs-row-time{color:var(--text-secondary);font-size:.75rem}.logs-row-device{color:var(--text-secondary);font-size:.75rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-pagination{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}@keyframes logs-shimmer{0%{transform:translate(-60%)}to{transform:translate(60%)}}@keyframes logs-banner-in{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes logs-pop{0%{transform:translateY(6px);opacity:.2}to{transform:translateY(0);opacity:1}}@keyframes logs-glow{0%{box-shadow:0 0 #7ed5ff00}30%{box-shadow:0 0 0 2px #7ed5ff47,0 14px 50px #0000003d}to{box-shadow:0 0 #7ed5ff00}}@media(max-width:900px){.logs-toolbar{grid-template-columns:1fr}.logs-actions{grid-column:1 / -1;justify-content:flex-start}.logs-list-head{grid-template-columns:1fr 1fr}}@media(max-width:560px){.logs-page{padding:12px}.logs-page-header{grid-template-columns:1fr auto;grid-template-areas:"back logout" "title title";row-gap:8px}.logs-back{grid-area:back}.logs-logout{grid-area:logout}.logs-title{grid-area:title;text-align:left;font-size:1.05rem}.logs-toolbar{grid-template-columns:1fr;display:none}.logs-toolbar.is-open{display:grid}.logs-actions{grid-column:auto;flex-direction:column;align-items:stretch}.logs-actions .logs-secondary{width:100%}.logs-controls-toggle{display:inline-flex;align-items:center;justify-content:space-between}.logs-filter .logs-input{width:100%}.logs-date-popover,.logs-multi-popover{left:50%;transform:translate(-50%);width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.logs-date-grid{grid-template-columns:1fr}.logs-sort-row{flex-direction:column;align-items:stretch}.logs-sort-row .logs-secondary{width:100%}.logs-list-head{grid-template-columns:1fr 1fr;gap:6px}.logs-row{flex-direction:column;align-items:stretch}.logs-row-meta{white-space:normal;max-width:none;overflow:visible;text-overflow:initial;word-break:break-word}.logs-row-side{text-align:left;flex-direction:row;justify-content:space-between;gap:10px}.logs-row-device{max-width:none}.logs-pagination{flex-direction:column;align-items:stretch}}@media(max-width:380px){.logs-date-presets{grid-template-columns:1fr}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.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}
