:root{font-family:Manrope,Segoe UI,Arial,sans-serif;--brand-500: #6678e6;--brand-600: #5769dc;--brand-100: #e8ecff;--surface-0: #ffffff;--surface-1: #f5f7ff;--surface-2: #eef2ff;--line-soft: #d5ddf5;--ink-900: #171d33;--ink-700: #475172;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{background:var(--surface-1);color:var(--ink-900)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;transition:border-color .25s}button:not(:disabled){cursor:pointer}button:not(:disabled):focus,button:not(:disabled):focus-visible{outline:none;box-shadow:0 0 0 3px #6678e64d;border-color:var(--brand-500)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;white-space:nowrap}.btn svg{flex-shrink:0}.btn-muted{background:#fff;border:1px solid var(--line-soft);color:#334155}.btn-primary{background:linear-gradient(140deg,var(--brand-500),var(--brand-600));color:#fff;border:1px solid var(--brand-500)}.route-loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid var(--brand-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.xml-editor-container{width:100%;min-height:100dvh;display:flex;flex-direction:column;background-color:#242424;color:#f5f5f5}.xml-editor-header{padding:16px;background-color:#1e1e1e;border-bottom:1px solid #444;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.xml-editor-header h2{margin:0;font-size:20px}.xml-editor-buttons{display:flex;gap:8px;flex-wrap:wrap}.xml-btn{padding:8px 16px;font-size:14px;background-color:#333;color:#f5f5f5;border:1px solid #555;border-radius:4px;transition:all .25s}.xml-btn:hover:not(:disabled){background-color:#444;border-color:#666}.save-btn:hover:not(:disabled){background-color:#2d5a2d;border-color:#5a9a5a}.download-btn:hover:not(:disabled){background-color:#2d4a5a;border-color:#5a8a9a}.back-btn:hover:not(:disabled){background-color:#5a2d2d;border-color:#9a5a5a}.xml-save-button{width:120px;padding-inline:0}.xml-editor-status{padding:8px 16px;font-size:13px;color:#cbd5e1;border-bottom:1px solid #383838}.xml-editor-textarea{flex:1;width:100%;min-height:0;padding:16px;background-color:#1e1e1e;color:#f5f5f5;border:none;border-radius:0;font-family:Courier New,monospace;font-size:14px;line-height:1.6;resize:none;outline:none}.xml-editor-textarea:focus{background-color:#252525}.publishBtn{background-color:#4f46e5;color:#fff}.publishBtn:hover{background-color:#4338ca}.login-page-container{width:100%;min-height:100dvh;display:flex;align-items:center;background:radial-gradient(circle at 15% 20%,rgba(30,64,175,.15),transparent 45%),radial-gradient(circle at 85% 10%,rgba(15,118,110,.12),transparent 40%),#f4f7fb}.login-page{width:100%;display:flex;align-items:start;justify-content:center;flex-direction:row;gap:20px;flex-wrap:nowrap;padding:20px}.token-guide{width:min(720px,100%);background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:24px;box-shadow:0 16px 36px #0f172a14;direction:rtl;text-align:right}.token-guide h2{margin-bottom:12px}.token-guide ol{padding-right:18px;display:flex;flex-direction:column;gap:10px;color:#1e293b}.token-guide a{color:#0369a1;text-decoration:none;word-break:break-word}.token-guide a:hover{text-decoration:underline}.token-guide-divider{height:1px;background:#dbe4f0;margin:16px 0}.token-client-table-wrap{margin-top:10px;overflow-x:auto}.token-client-table{width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #dbe4f0;border-radius:10px;overflow:hidden}.token-client-table th,.token-client-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:right;vertical-align:top}.token-client-table th:not(:last-child),.token-client-table td:not(:last-child){border-left:1px solid #dbe4f0}.token-client-table th{background:#eff6ff;color:#0f172a;font-weight:700;text-align:center}.token-client-table td{direction:ltr;text-align:center}.token-client-table tbody tr:last-child td{border-bottom:none}.login-form{width:min(720px,100%);background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 16px 36px #0f172a14}.login-form h1{font-size:1.8rem}.login-subtitle{color:#334155;margin-bottom:10px}.login-form label{font-weight:600;color:#0f172a}.login-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:.95rem;font-family:Courier New,monospace;resize:vertical}.login-form textarea:focus{outline:2px solid #1d4ed8;border-color:transparent}.login-form button{margin-top:8px;color:#fff;transition:ease .2s}.login-form .generate-token-btn{margin-top:1rem;background:#1d4ed8}.login-form .generate-token-btn:hover:not(:disabled){filter:brightness(1.03);background:#1e40af}.login-form .generate-token-btn:disabled{opacity:.7}.login-form .submit-btn{background:#1d4ed8}.login-form .submit-btn:disabled{opacity:.7}.login-error{color:#b91c1c;font-size:.9rem}.app-toast{position:fixed;left:50%;top:20px;transform:translate(-50%);z-index:2000;min-width:240px;max-width:min(420px,calc(100vw - 24px));padding:12px 14px;border-radius:10px;color:#fff;font-size:.92rem;font-weight:600;box-shadow:0 12px 28px #0f172a40;animation:toast-in-out 3.2s ease-in-out forwards}.app-toast-error{background:#b91c1c}.app-toast-success{background:#0f766e}.app-toast-info{background:#1d4ed8}@keyframes toast-in-out{0%{opacity:0;transform:translate(-50%,-10px)}12%{opacity:1;transform:translate(-50%)}88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}@media(max-width:768px){.login-page{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.token-guide,.login-form{padding:18px}.xml-editor-header{padding:12px}.xml-editor-buttons{width:100%}.xml-btn{flex:1;min-width:120px}.xml-save-button{width:auto}.app-toast{top:12px;left:50%;transform:translate(-50%);max-width:none;width:calc(100vw - 24px)}}.fa-text{direction:rtl}
