:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body{margin:0;padding:0}#root{min-height:100vh;padding:2rem;box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f4f6}.app-root{max-width:100vw;box-sizing:border-box}.app-shell{background:#fff;border-radius:12px;padding:1.5rem 1.5rem 1.25rem;box-shadow:0 10px 30px #0f172a1f;display:flex;flex-direction:column;gap:1rem}.app-header{display:flex;align-items:center;position:relative;gap:.5rem;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.app-header-left{display:flex;align-items:center;gap:.5rem;min-width:0}.app-header h1{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:.02em;color:#111827}.app-header h1 a{color:inherit;text-decoration:none}.app-header h1 a:hover{text-decoration:underline}input[type=checkbox]{accent-color:#000000}.error,.info{border:1px solid #fecaca;padding:.5rem .75rem;border-radius:6px;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.error{color:#b91c1c;background-color:#fef2f2}.info{color:#065f46;background-color:#ecfdf3}.error-message,.info-message{flex:1}.error-close,.info-close{border:none;background:transparent;color:inherit;font-size:1rem;cursor:pointer;padding:0 .25rem}.error-close:focus,.info-close:focus{outline:none}.create-button{margin-right:.5rem}.create-button:hover{border-color:#c1c1c1;background-color:#c1c1c1}.create-button,.create-button:focus,.create-button:focus-visible{outline:none}.menu-actions-button,.menu-actions-button:focus,.menu-actions-button:focus-visible{outline:none}.menu-actions-button:hover{border-color:#c1c1c1;background-color:#c1c1c1}.menu-actions{position:absolute;top:100%;right:0;margin-top:.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 20px #0f172a2e;min-width:200px;z-index:10}.menu-actions hr{margin:0}.menu-actions button{outline:none;background-color:transparent;display:block;width:100%;padding:.35rem .75rem;text-align:left;border:none;border-radius:0;cursor:pointer}.menu-actions button:first-of-type{border-radius:.5rem .5rem 0 0}.menu-actions button:last-of-type{border-radius:0 0 .5rem .5rem}.menu-actions button:hover,.menu-actions button:focus-visible{background-color:#c1c1c1}.table-filters{display:flex;gap:1rem;align-items:center;margin-bottom:.5rem;font-size:.9rem;color:#4b5563}.table-filters label{display:flex;align-items:center;gap:.5rem}.table-filters input[type=text]{padding:.25rem .5rem;border-radius:4px;border:1px solid #d1d5db;font-size:.9rem}.table-filters select{border-radius:4px;border:1px solid #d1d5db;padding:.2rem .5rem;font-size:.9rem;background-color:#fff}.filter-input-wrapper{position:relative;display:inline-block}.filter-input-wrapper input[type=text]{padding-right:1.75rem}.filter-clear{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);border:none;background:#d1d5db;color:#fff;width:1rem;height:1rem;border-radius:999px;padding:0;cursor:pointer;font-size:.8rem;line-height:1;display:flex;align-items:center;justify-content:center}.filter-clear:hover{background:#9ca3af}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.9rem;color:#4b5563}.table-controls .page-size label{display:flex;align-items:center;gap:.5rem}.table-controls select{border-radius:999px;border:1px solid #d1d5db;padding:.2rem .75rem;font-size:.85rem;background-color:#fff}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.75rem;font-size:.9rem;color:#4b5563}.pagination button{padding:.3rem .9rem;border-radius:999px;border:1px solid #d1d5db;background-color:#fff;color:#111827;font-size:.85rem;cursor:pointer;transition:background-color .12s ease-in-out,border-color .12s ease-in-out}.pagination button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.pagination button:disabled{opacity:.45;cursor:default}.route-table{width:100%;border-collapse:collapse;table-layout:fixed;border-radius:8px;overflow:hidden;background-color:#fff}.col-guid{width:14%}.col-request,.col-redirect{width:21%}.col-flag-ultra-wide{width:7%}.col-flag-wide{width:6%}.col-flag-narrow,.col-actions{width:5%}.col-select{width:3%}.sortable{cursor:pointer}.sortable:hover{text-decoration:underline}.route-table th{background-color:#f9fafb;font-weight:600;color:#374151}.route-table th,.route-table td{padding:.55rem .75rem;border-bottom:1px solid #e5e7eb;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.route-table td:last-child{white-space:normal;text-overflow:clip}.route-table th:first-child,.route-table td:first-child{white-space:normal;text-overflow:clip}.clickable-row{cursor:pointer;transition:background-color .12s ease-in-out}.clickable-row:hover{background-color:#f3f4f6}.newly-created-row{background-color:#fef3c7}.table-actions a{font-size:.7rem;margin-right:.3rem;text-decoration:underline;white-space:nowrap}.table-actions a:link,.table-actions a:visited{color:#213547}.table-actions a:hover,.table-actions a:active{color:#b91a2e}.overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000}.overlay-content{position:relative;background:#fff;padding:1.5rem 1.75rem 1.25rem;border-radius:12px;box-shadow:0 20px 45px #0f172a40;max-width:640px;width:100%}.overlay-content h2{margin:0 0 .75rem;font-size:1.2rem;font-weight:600;color:#111827}.overlay-close{position:absolute;top:0rem;right:-.5rem;border:none;background:transparent;font-size:1.5rem;font-weight:bolder;cursor:pointer}.overlay-close:focus{outline:none}.route-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.route-form .light-text{color:#7c8aa7}.route-form label{display:flex;flex-direction:column;align-items:flex-start;font-size:.9rem;gap:.25rem;color:#374151}.route-form label span{font-size:.9rem;color:#111827;word-break:break-all}.route-form input[type=text],.route-form input[type=number]{width:100%;padding:.4rem .5rem;border-radius:6px;border:1px solid #d1d5db;font-size:.9rem;box-sizing:border-box}.checkbox-label{flex-direction:row!important;align-items:center!important;gap:.5rem!important}.overlay-actions{display:flex;align-items:center;margin-top:1rem}.overlay-actions-left{display:flex;align-items:center;gap:.5rem}.overlay-actions-right{margin-left:auto;display:flex;align-items:center;gap:.5rem}.overlay-actions button{border-radius:.5rem;border:none;background-color:#000;color:#fff;cursor:pointer;font-weight:500;padding:box-shadow: 0 1px 2px rgba(15,23,42,.15);transition:background-color .12s ease-in-out,box-shadow .12s ease-in-out}.overlay-actions button:hover{background-color:#383838;color:#fff;box-shadow:0 2px 4px #0f172a33}.overlay-actions button:disabled{opacity:.5;cursor:default}.overlay-actions button:focus{outline:none}.overlay-actions-left button,.overlay-actions button.delete-button{background-color:#fff;color:#111827}.overlay-actions button.hits-button:hover,.overlay-actions button.delete-button:hover{background-color:#b91a2e;color:#fff}.field-error{margin-top:.15rem;font-size:.8rem;color:#b91c1c}.test-route-results{max-height:200px;overflow-y:auto;margin-top:1rem}.test-route-results ul{list-style:none;padding:0;margin:0}.test-route-results li{border-bottom:1px solid #ddd;padding:.7rem 0}.test-route-results label{display:unset}.test-route-results label input{margin-right:.4rem}.test-route-results .redirect-loop-detected{color:#b91a2e}.test-route-results button{border-radius:.5rem;margin:1rem .5rem .5rem .1rem;border:none;cursor:pointer;font-weight:500;box-shadow:0 1px 2px #0f172a26;transition:background-color .12s ease-in-out,box-shadow .12s ease-in-out}.test-route-results button:hover,.test-route-results button:focus{background-color:#000;color:#fff}.guid-with-copy{display:inline-flex;align-items:center;gap:.35rem}.input-with-copy{display:flex;align-items:center;gap:.35rem;width:100%}.input-with-copy input{flex:1;min-width:0}.icon-button{border:none;background:transparent;color:#6b7280;cursor:pointer;padding:0;line-height:1;font-size:.95rem;transition:color .15s ease-in-out}.icon-button:hover{color:#111827}.icon-button:focus{outline:none}.icon-button--copied{color:#059669}.subscriber-table{width:100%;border-collapse:collapse;table-layout:fixed;border-radius:8px;overflow:hidden;background-color:#fff}.subscriber-table th{background-color:#f9fafb;font-weight:600;color:#374151}.subscriber-table th,.subscriber-table td{padding:.55rem .75rem;border-bottom:1px solid #e5e7eb;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.subscriber-table .col-subscriber{width:60%}.subscriber-table .col-status,.subscriber-table .col-actions{width:15%}.subscriber-table .col-select{width:3%}.subscriber-table td:first-child,.subscriber-table th:first-child{white-space:normal;text-overflow:clip}.action-button{padding:.25rem .75rem;border-radius:.375rem;border:1px solid #d1d5db;background-color:#fff;color:#111827;font-size:.85rem;cursor:pointer;transition:background-color .12s ease-in-out,border-color .12s ease-in-out}.action-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.action-button:focus{outline:none}
