@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");:root{--bg:#f1f5f9;--bg-subtle:#e8eef4;--sidebar:#ffffff;--surface:#ffffff;--text:#0f172a;--muted:#64748b;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eff6ff;--accent-border:#bfdbfe;--border:#e2e8f0;--danger:#dc2626;--danger-soft:#fef2f2;--success:#059669;--success-soft:#ecfdf5;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(15,23,42,0.04);--shadow-md:0 4px 16px rgba(15,23,42,0.06);--shadow-lg:0 12px 40px rgba(15,23,42,0.08);--font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);font-size:15px;line-height:1.55;color:var(--text);background:var(--bg)}.layout,body{min-height:100vh}.layout{display:flex;flex-direction:column}@media (min-width:900px){.layout{flex-direction:row}}nav.sidebar{background:var(--sidebar);border-bottom:1px solid var(--border);padding:1.25rem 1rem;flex-shrink:0;box-shadow:var(--shadow-sm)}@media (min-width:900px){nav.sidebar{width:260px;min-height:100vh;border-bottom:none;border-right:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;max-height:100vh;overflow-y:auto}}.brand{font-size:.6875rem;font-weight:700;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:0;padding:0 .5rem}.sidebar-version{font-size:.72rem;padding:0 .75rem .25rem;opacity:.7;margin-bottom:.25rem;text-indent:81px}.sidebar-version,nav.sidebar a{color:var(--muted);display:block}nav.sidebar a{padding:.55rem .75rem;text-decoration:none;border-radius:10px;margin-bottom:.2rem;font-weight:500;font-size:.9375rem;transition:color .15s ease,background .15s ease}nav.sidebar a:hover{color:var(--text);background:var(--bg)}nav.sidebar a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}nav.sidebar hr{border:0;border-top:1px solid var(--border);margin:1rem .5rem}.sidebar-logout{display:block;width:100%;padding:.55rem .75rem;font-family:var(--font);font-size:.9375rem;font-weight:500;color:var(--muted);background:none;border:none;border-radius:10px;cursor:pointer;text-align:left;transition:color .15s ease,background .15s ease}.sidebar-logout:hover{color:var(--text);background:var(--bg)}main.content{flex:1 1;padding:1.75rem 1.5rem 3rem;width:100%}@media (min-width:1100px){main.content{padding-left:2rem;padding-right:2rem}}.page-header{margin-bottom:1.75rem}.page-header__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem}.page-header h1,.page-header__title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem;line-height:1.2}.page-header .muted,.page-header__lead{margin:0;font-size:1rem;max-width:42rem;color:var(--muted)}h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}h2.section-title{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem}h2.section-title:before{content:"";width:3px;height:1rem;background:var(--accent);border-radius:2px;flex-shrink:0}h2.section-title:first-child{margin-top:0}.toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:1.5rem}a.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.15rem;font-weight:600;font-size:.9rem;font-family:var(--font);border-radius:10px;border:none;cursor:pointer;text-decoration:none;background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(37,99,235,.25);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}a.btn:hover,button.btn:hover{background:var(--accent-hover);box-shadow:0 2px 8px rgba(37,99,235,.35)}a.btn:active,button.btn:active{transform:translateY(1px)}a.btn.secondary,button.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}a.btn.secondary:hover,button.btn.secondary:hover{background:var(--bg);border-color:#cbd5e1}a.btn.danger,button.btn.danger{background:var(--danger);box-shadow:0 1px 2px rgba(220,38,38,.25)}a.btn.danger:hover,button.btn.danger:hover{background:#b91c1c}a.btn:focus-visible,button.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.btn.danger:focus-visible{outline-color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.65rem;margin-bottom:1.25rem;box-shadow:var(--shadow-md)}.card--flush{padding:0;overflow:hidden}.card--soft{background:linear-gradient(180deg,var(--accent-soft) 0,var(--surface) 48%);border-color:var(--accent-border)}.card--inset{box-shadow:var(--shadow-sm);border-radius:var(--radius);padding:1.25rem}.form-panel{padding:1.75rem 1.85rem 1.5rem}@media (max-width:600px){.form-panel{padding:1.25rem 1.25rem 1rem}}.form-row{margin-bottom:1.15rem}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem 1.25rem}.form-grid-2,.form-grid-3{display:grid;gap:1rem 1.25rem;align-items:start}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem 1.25rem}.form-grid-2 .form-row,.form-grid-3 .form-row{margin-bottom:0}.form-grid__full{grid-column:1/-1}.form-subcard{padding:1.1rem 1.2rem;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:12px;margin-bottom:1.25rem}.form-subcard:last-child{margin-bottom:0}@media (max-width:720px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-grid__full{grid-column:1}}@media (min-width:721px) and (max-width:1024px){.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}label{display:block;font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:.4rem}select{background-image:url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>")!important;background-repeat:no-repeat!important;background-position:calc(100% - .75rem)!important;-moz-appearance:none!important;-webkit-appearance:none!important;appearance:none!important;padding-right:2rem!important}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{width:100%;max-width:100%;padding:.65rem .85rem;font-size:.9375rem;font-family:var(--font);background:#f8fafc;color:var(--text);border:1px solid var(--border);border-radius:10px;min-height:44px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}textarea{min-height:100px;resize:vertical}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.helptext{font-size:.8125rem;color:var(--muted);margin-top:.4rem;line-height:1.45}.field-error{list-style:none;padding:0;margin:.35rem 0 0;color:var(--danger);font-size:.8125rem}.form-error{padding:.75rem 1rem;background:var(--danger-soft);border:1px solid #fecaca;border-radius:10px;color:#b91c1c;font-size:.875rem;margin-bottom:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow-sm)}.stat-card__value{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1.1}.stat-card__label{font-size:.8125rem;color:var(--muted);margin-top:.25rem;font-weight:500}.table-wrap{overflow-x:auto}@media (min-width:900px){.table-wrap{overflow-x:visible}}table{width:100%;border-collapse:collapse;font-size:.9rem}thead th{text-align:left;padding:.85rem 1.1rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc}tbody td,thead th{border-bottom:1px solid var(--border)}tbody td{padding:.9rem 1.1rem;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafbfc}a.table-link{display:inline-flex;align-items:center;font-weight:600;font-size:.875rem;color:var(--accent);text-decoration:none;padding:.35rem .65rem;border-radius:8px;transition:background .15s ease}a.table-link:hover{background:var(--accent-soft)}td.table-col--edit,th.table-col--edit{width:1%;padding-left:.65rem;padding-right:.65rem;white-space:nowrap;text-align:center;vertical-align:middle}.pill{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:999px}.pill--ok{background:var(--success-soft);color:var(--success)}.pill--muted{background:#f1f5f9;color:var(--muted)}.pill--danger{background:var(--danger-soft);color:var(--danger)}.language-pairs-cell{vertical-align:top;min-width:10rem;max-width:14rem}.language-pairs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;gap:.45rem}.language-pairs-list li{margin:0 15px 0 0}.lang-pair{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start}.lang-pair__codes code{font-family:ui-monospace,monospace;font-size:.87rem;background:#f1f5f9;padding:.1rem .35rem;border-radius:4px;border:1px solid var(--border)}.lang-pair__names{font-size:.755rem;line-height:1.35;color:var(--muted)}code.inline{font-family:ui-monospace,monospace;font-size:.8125rem;background:#f1f5f9;padding:.15rem .45rem;border-radius:6px;border:1px solid var(--border)}.muted{color:var(--muted);font-size:.9375rem}.messages{list-style:none;padding:0;margin:0 0 1.25rem}.messages li{padding:.85rem 1.1rem;border-radius:var(--radius);margin-bottom:.5rem;font-size:.9rem}.messages .success{background:var(--success-soft);border:1px solid #6ee7b7;color:#047857}.messages .error{background:var(--danger-soft);border:1px solid #fecaca;color:#b91c1c}.messages .warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.checkbox-grid{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:.5rem}.checkbox-grid label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text)}.checkbox-grid input{width:auto;min-height:auto}.flags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.5rem}@media (min-width:700px){.flags-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.flags-grid{grid-template-columns:repeat(3,1fr)}}.flag-tile{display:flex;align-items:flex-start;gap:.85rem;margin:0;padding:1rem 1.1rem;min-height:52px;background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid var(--border);border-radius:12px;cursor:pointer;font-weight:600;font-size:.875rem;line-height:1.35;color:var(--text);box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.flag-tile:hover{border-color:#cbd5e1;box-shadow:var(--shadow-md)}.flag-tile.checked{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-soft) 0,#eff6ff 100%);box-shadow:0 0 0 1px var(--accent-border),var(--shadow-sm)}.flag-tile__check{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px}.flag-tile__check input[type=checkbox]{width:1.125rem;height:1.125rem;min-height:auto;margin:0;cursor:pointer;accent-color:var(--accent);border-radius:4px}.flag-tile__text{flex:1 1;min-width:0}.pair-card{background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;margin-bottom:.85rem}.pair-card__grid{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:1rem;gap:1rem;align-items:end}@media (max-width:640px){.pair-card__grid{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:2rem 1rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem 2rem;width:100%;max-width:400px}.auth-card__brand{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem;text-align:center}.auth-card__version{font-size:.75rem;color:var(--muted);margin-top:-.25rem;margin-bottom:.5rem;text-indent:190px}.auth-card__title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .35rem}.auth-card__subtitle{color:var(--muted);font-size:.9375rem;margin:0 0 1.75rem}.pagination{display:flex;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.875rem}.pagination a,.pagination button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-weight:500;cursor:pointer;font-family:var(--font);transition:background .15s ease}.pagination a:hover,.pagination button:hover{background:var(--bg)}.pagination .active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-bar{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1.25rem;align-items:center}.filter-bar input[type=search],.filter-bar input[type=text]{min-width:200px;max-width:320px}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--muted);gap:.75rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--muted)}.empty-state__title{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.copy-field{display:flex;gap:.5rem;align-items:stretch}.copy-field input{flex:1 1;font-family:ui-monospace,monospace;font-size:.85rem;letter-spacing:.02em}.log-level--DEBUG{color:var(--muted)}.log-level--INFO{color:var(--accent)}.log-level--WARNING{color:#92400e}.log-level--ERROR{color:var(--danger)}.log-level--CRITICAL{color:var(--danger);font-weight:700}.sidebar-group{margin-bottom:.1rem}.sidebar-group__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.4rem .75rem;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;border:none;border-radius:8px;cursor:pointer;font-family:var(--font);transition:color .15s ease,background .15s ease;margin-top:.35rem}.sidebar-group__toggle:hover{color:var(--text);background:var(--bg)}.sidebar-group__chevron{font-size:.7rem;transition:transform .2s ease;display:inline-block}.sidebar-group__chevron--open{transform:rotate(0deg)}.sidebar-group__chevron:not(.sidebar-group__chevron--open){transform:rotate(-90deg)}.sidebar-group__items{padding-left:.5rem}.sidebar-group__link{display:block;padding:.45rem .75rem;color:var(--muted);text-decoration:none;border-radius:8px;margin-bottom:.1rem;font-weight:500;font-size:.875rem;transition:color .15s ease,background .15s ease}.sidebar-group__link:hover{color:var(--text);background:var(--bg)}.sidebar-group__link.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.tool-page .card{max-width:65rem;margin:0 auto}.tool-form{gap:1.15rem}.tool-form,.tool-params-panel{display:flex;flex-direction:column}.tool-params-panel{padding:1.15rem 1.25rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);gap:1rem}.tool-job-wrap{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.tool-filedrop-wrap{display:flex;flex-direction:column;gap:.75rem}.tool-filedrop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1.5rem;border:2px dashed var(--border);border-radius:var(--radius);background:#f8fafc;cursor:pointer;text-align:center;color:var(--muted);transition:border-color .15s ease,background .15s ease;outline:none}.tool-filedrop:focus-visible,.tool-filedrop:hover{border-color:var(--accent);background:var(--accent-soft)}.tool-filedrop--active{border-color:var(--accent);background:var(--accent-soft)}.tool-filedrop__label{font-size:.9375rem;font-weight:600;color:var(--text)}.tool-filedrop__hint{font-size:.8125rem;color:var(--muted)}.tool-filedrop__input{display:none}.tool-filelist{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tool-filelist__item{display:flex;align-items:center;justify-content:space-between;padding:.55rem .85rem;font-size:.875rem;border-bottom:1px solid var(--border)}.tool-filelist__item:last-child{border-bottom:none}.tool-filelist__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-filelist__remove{flex-shrink:0;margin-left:.75rem;padding:.2rem .4rem;font-size:.75rem;color:var(--muted);background:none;border:none;border-radius:6px;cursor:pointer;font-family:var(--font);transition:color .15s ease,background .15s ease}.tool-filelist__remove:hover{color:var(--danger);background:var(--danger-soft)}.tool-job{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius);font-size:.9rem;border:1px solid var(--border)}.tool-job--pending{background:#f8fafc}.tool-job--success{background:var(--success-soft);border-color:#6ee7b7}.tool-job--muted{background:#f8fafc;color:var(--muted)}.tool-job--error{background:var(--danger-soft);border-color:#fecaca;color:#b91c1c;flex-direction:column;align-items:flex-start}.tool-job__text{flex:1 1}.tool-job__cancel{font-size:.8125rem;color:var(--muted);background:none;border:none;cursor:pointer;font-family:var(--font);padding:.2rem .4rem;border-radius:6px;transition:color .15s ease,background .15s ease}.tool-job__cancel:hover{color:var(--text);background:var(--bg)}.tool-job__error-detail{margin:.5rem 0 0;font-size:.8125rem;white-space:pre-wrap;font-family:ui-monospace,monospace}.tool-checkbox-row{display:flex;align-items:flex-start;gap:.5rem}.tool-checkbox-row input[type=checkbox]{width:auto;min-height:auto;margin-top:.15rem;flex-shrink:0}.tool-checkbox-row label{display:flex;align-items:flex-start;gap:0;font-weight:500;margin-bottom:0;cursor:pointer}