:root{--color-bg:#09090b;--color-bg-elevated:#0f0f12;--color-surface:#131316;--color-card:#18181c;--color-card-hover:#1c1c21;--color-input:#0c0c0f;--color-card-border:#ffffff14;--color-card-border-hover:#ffffff24;--color-primary:#dc2626;--color-primary-hover:#ef4444;--color-primary-pressed:#b91c1c;--color-primary-bright:#fca5a5;--color-primary-glow:#dc262626;--color-primary-subtle:#dc262614;--color-primary-disabled-bg:#dc26261f;--color-primary-disabled-border:#dc262633;--color-btn-text-on-primary:#fff;--color-btn-text-on-dark:#e4e4e7;--color-btn-text-disabled:#71717a;--color-text:#fafafa;--color-text-muted:#a1a1aa;--color-text-dim:#71717a;--color-header-bg:#09090bd9;--color-header-text:#fafafa;--color-header-sub:#a1a1aa;--color-success:#22c55e;--color-success-bg:#22c55e1a;--corner-radius:12px;--corner-radius-sm:8px;--corner-radius-lg:16px;--pad-x:24px;--pad-y:32px;--layout-max:1200px;--content-max:1200px;--page-gap:32px;--section-gap:28px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 8px 32px #00000073;--transition:.18s ease;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 50% -20%,#dc26261f,#0000),radial-gradient(60% 40% at 100% 0,#dc26260f,#0000);position:fixed;inset:0}#root{z-index:1;min-height:100vh;position:relative}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-card-border);background:#09090beb;position:sticky;top:0}.site-header-inner{align-items:center;gap:32px;height:64px;display:flex}.site-header-brand{flex-shrink:0;align-items:center;gap:12px;display:flex}.site-header-logo-link{transition:opacity var(--transition), transform .1s ease;border-radius:6px;flex-shrink:0;display:flex}.site-header-logo-link:hover{opacity:.88}.site-header-logo-link:active{transform:scale(.98)}.site-header-name{color:var(--color-header-text);letter-spacing:-.02em;white-space:nowrap;transition:color var(--transition);font-size:15px;font-weight:600;text-decoration:none}.site-header-name:hover{color:var(--color-text-muted)}.app-header-logo{flex-shrink:0;align-items:center;height:36px;display:flex}.app-header-logo img{object-fit:contain;border-radius:4px;width:auto;max-width:120px;height:100%;display:block}.user-bar{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.user-menu{margin-left:auto;position:relative}.user-menu-trigger{border:1px solid var(--color-card-border);cursor:pointer;color:inherit;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);background:#ffffff08;border-radius:999px;align-items:center;gap:10px;padding:4px 10px 4px 4px;font-family:inherit;display:flex}.user-menu-trigger:hover{border-color:var(--color-card-border-hover);background:#ffffff0f}.user-menu.open .user-menu-trigger,.user-menu-trigger:focus-visible{border-color:var(--color-card-border-hover);box-shadow:0 0 0 3px var(--color-primary-glow);background:#ffffff0f;outline:none}.user-avatar{background:linear-gradient(135deg, var(--color-primary-subtle), #dc262638);border:1px solid var(--color-primary-disabled-border);width:32px;height:32px;color:var(--color-primary-bright);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.user-avatar--lg{width:40px;height:40px;font-size:14px}.user-menu-label{text-align:left;flex-direction:column;align-items:flex-start;min-width:0;display:flex}.user-menu-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;font-weight:500;line-height:1.3;overflow:hidden}.user-menu-email{color:var(--color-text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:11px;line-height:1.3;overflow:hidden}.user-menu-chevron{width:14px;height:14px;color:var(--color-text-dim);transition:transform var(--transition), color var(--transition);flex-shrink:0}.user-menu-chevron.open{color:var(--color-text-muted);transform:rotate(180deg)}.user-menu-dropdown{z-index:200;background:var(--color-card);border:1px solid var(--color-card-border-hover);border-radius:var(--corner-radius);width:max-content;min-width:100%;max-width:min(400px,100vw - 24px);box-shadow:var(--shadow-lg);padding:6px;animation:.15s user-menu-in;position:absolute;top:calc(100% + 8px);right:0}@keyframes user-menu-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-menu-header{align-items:center;gap:12px;padding:10px 12px;display:flex}.user-menu-header-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.user-menu-header-name{color:var(--color-text);white-space:nowrap;font-size:14px;font-weight:600;line-height:1.3}.user-menu-header-email{color:var(--color-text-muted);white-space:nowrap;font-size:12px;line-height:1.4}.user-menu-divider{background:var(--color-card-border);height:1px;margin:4px 6px}.user-menu-item{border-radius:var(--corner-radius-sm);width:100%;color:var(--color-text-muted);cursor:pointer;text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.user-menu-item svg{flex-shrink:0;width:16px;height:16px}.user-menu-item:hover{color:var(--color-text);background:#ffffff0f}.user-menu-item--danger:hover{background:var(--color-primary-subtle);color:var(--color-primary-bright)}.user-menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary-glow);background:#ffffff0f;outline:none}.user-info,.user-email,.btn-sign-out{display:none}@media (width<=960px){.site-header-name{display:none}.site-header-inner{gap:20px}}@media (width<=720px){.user-menu-label{display:none}.user-menu-trigger{border-radius:50%;padding:4px}.user-menu-chevron{display:none}}@media (width<=640px){.site-header-inner{gap:12px;height:56px}}.app-nav{align-items:center;gap:2px;height:100%;display:flex}.app-nav a{height:100%;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:color var(--transition);align-items:center;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.app-nav a:after{content:"";background:var(--color-primary);height:2px;transition:transform var(--transition);border-radius:2px 2px 0 0;position:absolute;bottom:0;left:14px;right:14px;transform:scaleX(0)}.app-nav a:hover,.app-nav a.active{color:var(--color-text)}.app-nav a.active:after{transform:scaleX(1)}.app-nav a:focus-visible{color:var(--color-text);outline:none}.app-nav a:focus-visible:before{content:"";box-shadow:0 0 0 2px var(--color-primary-glow);pointer-events:none;border-radius:6px;position:absolute;inset:10px 4px}.layout-container{width:100%;max-width:var(--layout-max);padding:0 var(--pad-x);margin:0 auto}.app-main{padding:var(--pad-y) 0 48px;flex:1}.page{gap:var(--page-gap);flex-direction:column;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.page-header-main{flex:1;min-width:0}.page-title{letter-spacing:-.03em;color:var(--color-text);margin:0;font-size:28px;font-weight:600;line-height:1.2}.page-description{color:var(--color-text-muted);max-width:640px;margin:8px 0 0;font-size:15px;line-height:1.6}.page-header-actions{flex-shrink:0}.page-panel{background:var(--color-card);border:1px solid var(--color-card-border);border-radius:var(--corner-radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.page-banner{border-bottom:1px solid var(--color-card-border);background:linear-gradient(135deg,#dc26260f 0%,#0000 60%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:20px 28px;display:flex}.page-banner-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary-bright);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.page-banner-text p{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.5}.page-section{padding:28px}.page-section--action{background:#ffffff04}.page-section-head{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.page-section-num{background:var(--color-primary-subtle);border:1px solid var(--color-primary-disabled-border);width:32px;height:32px;color:var(--color-primary-bright);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.page-section-title{color:var(--color-text);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.page-section-desc{color:var(--color-text-dim);margin:4px 0 0;font-size:13px}.page-divider{background:var(--color-card-border);height:1px;margin:0 28px}.page-toolbar{border-bottom:1px solid var(--color-card-border);background:#ffffff05;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;display:flex}.page-status{color:var(--color-text-dim);border-top:1px solid var(--color-card-border);background:#ffffff04;padding:14px 28px;font-size:13px}.page-status--banner{border-top:none;border:1px solid var(--color-card-border);border-radius:var(--corner-radius-sm);margin:0 0 16px;padding:12px 16px}.page-status--warn{color:var(--color-primary-bright);background:var(--color-primary-subtle)}.page-status--success{color:var(--color-success);background:var(--color-success-bg)}.page-status--error{color:#fca5a5;background:#dc26261f}.page-status--loading{color:var(--color-text-muted);align-items:center;gap:10px;display:flex}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.65s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.form-field{flex-direction:column;gap:8px;display:flex}.field-hint{color:var(--color-text-dim);margin:0;font-size:13px;line-height:1.5}.tag-limit-row{margin-top:4px}.input-sm{max-width:100px}.btn-generate{width:100%}.btn-icon{min-width:32px;padding:6px 8px}.preview-section{margin-top:28px}.preview-heading{color:var(--color-text);margin:0 0 12px;font-size:14px;font-weight:600}.table-wrap{border:1px solid var(--color-card-border);border-radius:var(--corner-radius-sm);overflow:hidden}.empty-state{text-align:center;color:var(--color-text-muted);padding:48px 24px}.empty-state p{margin:0 0 16px}.rules-list-header{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-dim);grid-template-columns:36px 120px 1fr 100px;gap:12px;padding:0 12px 10px;font-size:11px;font-weight:600;display:grid}.rules-list{flex-direction:column;gap:8px;display:flex}.segmented-wide{max-width:480px}.site-footer{border-top:1px solid var(--color-card-border);background:#ffffff05;margin-top:auto;padding:24px 0 28px}.site-footer-inner{flex-direction:column;gap:14px;display:flex}.site-footer-top{align-items:flex-start;gap:14px;display:flex}.site-footer-logo{flex-shrink:0;height:44px}.site-footer-logo img{border-radius:6px;width:auto;height:100%;display:block}.site-footer-content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.site-footer-brand{letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:15px;font-weight:600;line-height:1.3}.site-footer-desc{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.5}.site-footer-bottom{border-top:1px solid var(--color-card-border);margin-top:2px;padding-top:14px}.site-footer-legal{color:var(--color-text-dim);margin:0;font-size:12px;line-height:1.5}@media (width<=768px){.page-title{font-size:24px}.page-section,.page-banner,.page-toolbar{padding-left:20px;padding-right:20px}.page-divider{margin:0 20px}.rules-list-header{display:none}}@media (width<=900px){.auth-layout{grid-template-columns:1fr}.auth-layout-brand{border-right:none;border-bottom:1px solid var(--color-card-border);padding:32px 24px}.auth-layout-brand .app-header-logo{height:40px;margin-bottom:20px}.auth-layout-brand h1{font-size:22px}.auth-layout-form{padding:32px 24px}}.app-content{padding:var(--pad-y) var(--pad-x);flex:1;overflow:auto}.content-container{max-width:var(--content-max);margin:0 auto}.card{background:var(--color-card);border:1px solid var(--color-card-border);border-radius:var(--corner-radius);margin-bottom:16px}.card-inner{padding:20px 24px}.section-label{color:var(--color-text);letter-spacing:-.01em;font-size:14px;font-weight:600}.section-desc{color:var(--color-text-muted);margin-top:4px;font-size:13px;line-height:1.5}.muted{color:var(--color-text-muted);margin-top:6px;font-size:13px;line-height:1.5}.form-label{color:var(--color-text);font-size:13px;font-weight:500;display:block}.required{color:var(--color-primary-bright);margin-left:2px}.step-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.step-badge{background:var(--color-primary-subtle);border:1px solid var(--color-primary-disabled-border);width:28px;height:28px;color:var(--color-primary-bright);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.step-badge.optional{border-color:var(--color-card-border);color:var(--color-text-muted);background:#ffffff0a}.step-title{color:var(--color-text);font-size:14px;font-weight:600}.step-subtitle{color:var(--color-text-dim);margin-top:1px;font-size:12px}.input,.select{background:var(--color-input);border:1px solid var(--color-card-border);border-radius:var(--corner-radius-sm);width:100%;color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition);padding:10px 14px;font-family:inherit;font-size:14px}.input:focus,.select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.custom-select{width:100%;position:relative}.custom-select-trigger{background:var(--color-input);border:1px solid var(--color-card-border);border-radius:var(--corner-radius-sm);width:100%;color:var(--color-text);text-align:left;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;display:flex}.custom-select-trigger:hover:not(:disabled){border-color:var(--color-card-border-hover);background:#ffffff08}.custom-select.open .custom-select-trigger,.custom-select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}.custom-select.disabled .custom-select-trigger{opacity:.5;cursor:not-allowed}.custom-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.custom-select-value.placeholder{color:var(--color-text-dim);font-weight:400}.custom-select-chevron{width:16px;height:16px;color:var(--color-text-muted);transition:transform var(--transition), color var(--transition);flex-shrink:0}.custom-select-chevron.open{color:var(--color-text);transform:rotate(180deg)}.custom-select.open .custom-select-chevron{color:var(--color-primary-bright)}.custom-select-menu{z-index:50;background:var(--color-card);border:1px solid var(--color-card-border-hover);border-radius:var(--corner-radius-sm);box-shadow:var(--shadow-lg);max-height:240px;margin:0;padding:6px;list-style:none;animation:.15s select-menu-in;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}@keyframes select-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.custom-select-option{color:var(--color-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);border-left:2px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.custom-select-option-check{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.custom-select-check{width:14px;height:14px;color:var(--color-primary-bright)}.custom-select-option-label{flex:1;min-width:0}.custom-select-option:hover,.custom-select-option.highlighted{color:var(--color-text);background:#ffffff0f;border-left-color:#fff3}.custom-select-option.selected{background:var(--color-primary-subtle);color:var(--color-text);font-weight:500}.custom-select-option.selected:hover,.custom-select-option.selected.highlighted{border-left-color:var(--color-primary);background:#dc26262e}.custom-select-menu::-webkit-scrollbar{width:6px}.custom-select-menu::-webkit-scrollbar-thumb{background:var(--color-card-border-hover);border-radius:3px}.file-dropzone{border:1.5px dashed var(--color-card-border-hover);border-radius:var(--corner-radius);text-align:center;cursor:pointer;transition:border-color var(--transition), background var(--transition);background:var(--color-input);padding:32px 24px}.file-dropzone:hover,.file-dropzone.drag-over{border-color:var(--color-primary);background:var(--color-primary-subtle)}.file-dropzone.has-file{border-style:solid;border-color:var(--color-success);background:var(--color-success-bg);text-align:left;padding:20px 24px}.file-dropzone-icon{border-radius:var(--corner-radius-sm);width:44px;height:44px;color:var(--color-text-muted);background:#ffffff0a;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.file-dropzone.has-file .file-dropzone-icon{background:var(--color-success-bg);color:var(--color-success);margin:0}.file-dropzone-title{color:var(--color-text);font-size:14px;font-weight:500}.file-dropzone-hint{color:var(--color-text-dim);margin-top:4px;font-size:13px}.file-dropzone.has-file .file-dropzone-body{align-items:center;gap:14px;display:flex}.file-dropzone-info{flex:1;min-width:0}.file-name{color:var(--color-text);word-break:break-all;font-size:14px;font-weight:500}.file-meta{color:var(--color-text-dim);margin-top:2px;font-size:12px}.btn{border-radius:var(--corner-radius-sm);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform .1s ease;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--color-primary);color:var(--color-btn-text-on-primary);border-color:var(--color-primary);box-shadow:0 1px 2px #0000004d,0 0 #dc262600}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 2px 8px #dc262659}.btn-primary:disabled{background:var(--color-primary-disabled-bg);border-color:var(--color-primary-disabled-border);color:var(--color-btn-text-disabled);cursor:not-allowed;box-shadow:none}.btn-secondary{color:var(--color-btn-text-on-dark);border-color:var(--color-card-border);background:#ffffff0a}.btn-secondary:hover:not(:disabled){border-color:var(--color-card-border-hover);color:var(--color-text);background:#ffffff12}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--color-text-muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--color-text);background:#ffffff0a}.btn-lg{border-radius:var(--corner-radius-sm);padding:13px 24px;font-size:14px;font-weight:600}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-label-fixed{vertical-align:top;display:inline-grid}.btn-label-fixed-size,.btn-label-fixed-visible{grid-area:1/1;justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn-label-fixed-size{visibility:hidden;pointer-events:none}.flex-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=720px){.settings-grid{grid-template-columns:1fr}}.segmented{background:var(--color-input);border:1px solid var(--color-card-border);border-radius:var(--corner-radius-sm);gap:2px;padding:3px;display:flex}.segmented button{color:var(--color-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition);background:0 0;border:none;border-radius:6px;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500}.segmented button.active{background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-sm)}.segmented button:hover:not(.active):not(:disabled){color:var(--color-text)}.progress-section{margin-top:24px}.progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.progress-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.progress-count{color:var(--color-text-dim);font-variant-numeric:tabular-nums;font-size:13px}.progress-bar{background:var(--color-input);border:1px solid var(--color-card-border);border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--color-primary-pressed), var(--color-primary));border-radius:3px;height:100%;transition:width .25s}.log-box{background:var(--color-input);border:1px solid var(--color-card-border);border-radius:var(--corner-radius-sm);color:var(--color-text-muted);white-space:pre-wrap;max-height:220px;margin-top:24px;padding:14px 16px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:12px;line-height:1.6;overflow-y:auto}.log-box .error{color:var(--color-primary-bright)}.preview-table{border-collapse:collapse;width:100%;font-size:13px}.preview-table th,.preview-table td{text-align:left;border-bottom:1px solid var(--color-card-border);padding:12px 16px}.preview-table tr:last-child td{border-bottom:none}.preview-table th{background:var(--color-input);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.preview-table td:first-child{color:var(--color-text-dim);font-variant-numeric:tabular-nums;width:60px}.preview-table tbody tr:hover td{background:#ffffff05}.result-banner{background:var(--color-success-bg);border-radius:var(--corner-radius-sm);border:1px solid #22c55e40;align-items:center;gap:12px;margin-top:20px;padding:14px 16px;display:flex}.result-banner-icon{width:36px;height:36px;color:var(--color-success);background:#22c55e26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.result-banner-text{flex:1;min-width:0}.result-banner-title{color:var(--color-text);font-size:14px;font-weight:500}.result-banner-sub{color:var(--color-text-muted);margin-top:2px;font-size:12px}.auth-layout{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-layout-brand{background:linear-gradient(160deg, #dc262614 0%, var(--color-bg) 50%);border-right:1px solid var(--color-card-border);flex-direction:column;justify-content:center;padding:48px;display:flex}.auth-layout-brand .app-header-logo{height:52px;margin-bottom:32px}.auth-layout-brand .app-header-logo img{max-width:180px}.auth-layout-brand h1{letter-spacing:-.03em;max-width:520px;margin:0;font-size:28px;font-weight:600;line-height:1.25}.auth-layout-tagline{color:var(--color-text-muted);max-width:520px;margin:14px 0 0;font-size:15px;line-height:1.55}.auth-layout-form{justify-content:center;align-items:center;padding:48px 32px;display:flex}.auth-panel{width:100%;max-width:420px;padding:32px}.auth-panel h2{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.auth-panel-desc{color:var(--color-text-muted);margin:8px 0 0;font-size:14px;line-height:1.5}.auth-form{flex-direction:column;gap:20px;margin-top:28px;display:flex}.auth-switch{text-align:center;color:var(--color-text-muted);margin:24px 0 0;font-size:14px}.link-btn{font:inherit;color:var(--color-primary-bright);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{color:var(--color-primary-hover)}.auth-panel code{background:var(--color-input);border:1px solid var(--color-card-border);border-radius:4px;padding:2px 6px;font-size:12px}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-error{color:var(--color-primary-bright);background:var(--color-primary-subtle);border-radius:var(--corner-radius-sm);border:1px solid var(--color-primary-disabled-border);margin-top:12px;padding:10px 12px;font-size:13px}.auth-success{color:var(--color-success);background:var(--color-success-bg);border-radius:var(--corner-radius-sm);border:1px solid #22c55e40;margin-top:12px;padding:10px 12px;font-size:13px}.mappings-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.rule-row{background:var(--color-input);border:1px solid var(--color-card-border);border-radius:var(--corner-radius-sm);transition:border-color var(--transition);grid-template-columns:36px 120px 1fr 100px;align-items:center;gap:12px;padding:10px 12px;display:grid}.rule-row:hover{border-color:var(--color-card-border-hover)}.rule-row .index{color:var(--color-text-dim);text-align:center;font-size:12px;font-weight:500}.rule-actions{gap:4px;display:flex}.rule-actions .btn{min-width:34px;padding:6px 10px}.status-unsaved,.status-saved,.hidden-input{display:none}.divider{background:var(--color-card-border);height:1px;margin:20px 0}.icon-sm{flex-shrink:0;width:16px;height:16px}.confirm-dialog-root{z-index:200;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog-backdrop{-webkit-backdrop-filter:blur(4px);cursor:pointer;background:#000000b8;border:none;margin:0;padding:0;animation:.18s confirm-fade-in;position:absolute;inset:0}.confirm-dialog{z-index:1;background:var(--color-card);border:1px solid var(--color-card-border);border-radius:var(--corner-radius-lg);width:min(100%,440px);box-shadow:var(--shadow-lg), 0 0 0 1px #ffffff0a;animation:.2s confirm-slide-in;position:relative}.confirm-dialog-body{padding:24px 24px 8px}.confirm-dialog-title{letter-spacing:-.02em;color:var(--color-text);margin:0 0 8px;font-size:18px;font-weight:600}.confirm-dialog-desc{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.55}.confirm-dialog-footer{justify-content:flex-end;gap:10px;padding:16px 24px 24px;display:flex}.confirm-dialog-btn-danger{background:#991b1b;border-color:#991b1b}.confirm-dialog-btn-danger:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary)}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-slide-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}
