:root{color-scheme:light only}:root{font-family:DM Sans,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100vh}body{background:#f8f6f7;color:#1c1d22}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}:root{--primary-color: #8b1a2e;--primary-dark: #6b1222;--primary-light: #c0455a;--primary: #8b1a2e;--success-color: #169b6b;--success-light: #def7ec;--error-color: #c0392b;--warning-color: #92400e;--warning-light: #fff4dd;--info-color: #2f6fb3;--text-primary: #1c1d22;--text-secondary: #4b5563;--bg-primary: rgba(255, 255, 255, .88);--bg-strong: #ffffff;--bg-secondary: rgba(255, 255, 255, .62);--bg-muted: #f3f1f4;--border-color: rgba(139, 26, 46, .14);--border-strong: rgba(139, 26, 46, .24);--border: rgba(139, 26, 46, .14);--shadow-sm: none;--shadow-md: 0 1px 2px rgba(107, 18, 34, .05);--shadow-lg: 0 4px 12px rgba(107, 18, 34, .1), 0 16px 40px rgba(107, 18, 34, .12);--glass-blur: blur(22px);--transition: .18s ease;--tab-line: rgba(139, 26, 46, .28);--bp-panel-bg: rgba(255, 255, 255, .97);--bp-header-bg: rgba(139, 26, 46, .045);--bp-inset-bg: rgba(139, 26, 46, .025);--bp-disabled-bg: rgba(139, 26, 46, .02);--bp-border: rgba(139, 26, 46, .14);--bp-border-accent: rgba(139, 26, 46, .24);--bp-divider: rgba(139, 26, 46, .1);--bp-border-focus: rgba(139, 26, 46, .55);--bp-row-hover: rgba(139, 26, 46, .06);--bp-row-selected: rgba(139, 26, 46, .1);--bp-row-group: rgba(139, 26, 46, .05);--bp-control-bg: rgba(255, 255, 255, .92);--bp-control-border: rgba(139, 26, 46, .18);--bp-control-border-hover: rgba(139, 26, 46, .3);--bp-control-placeholder: rgba(28, 29, 34, .55);--bp-dropzone-bg: rgba(139, 26, 46, .02);--bp-dropzone-bg-hover: rgba(139, 26, 46, .05);--bp-dropzone-border: rgba(139, 26, 46, .22);--bp-dropzone-border-hover: rgba(139, 26, 46, .4);--bp-step-idle-bg: rgba(255, 255, 255, .92);--bp-step-idle-border: rgba(139, 26, 46, .14);--bp-step-connector: rgba(139, 26, 46, .2);--bp-track-bg: rgba(139, 26, 46, .1);--bp-text-sys: rgba(28, 29, 34, .42);--bp-text-hint: rgba(28, 29, 34, .65);--bp-text-label: rgba(28, 29, 34, .78);--bp-text-title: rgba(28, 29, 34, .9);--bp-text-active: rgba(28, 29, 34, 1);--bp-shadow: none;--bp-shadow-overlay: 0 4px 12px rgba(107, 18, 34, .1), 0 16px 40px rgba(107, 18, 34, .12);--bp-pad-header: 10px 14px;--bp-pad-body: 14px;--bp-pad-row: 7px 10px;--bp-gap-tight: 6px;--bp-gap: 10px;--bp-label-size: .7rem;--bp-label-tracking: .12em;--bp-label-weight: 600;--bp-hint-size: .72rem}html,body,#root{margin:0;min-height:100vh}*{scrollbar-width:thin;scrollbar-color:rgba(139,26,46,.28) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#8b1a2e38;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#8b1a2e61}body{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;color:var(--text-primary);background-color:#f8f6f7;background-image:radial-gradient(circle at top left,rgba(192,69,90,.16),transparent 28%),radial-gradient(circle at top right,rgba(139,26,46,.14),transparent 24%),linear-gradient(180deg,#fffffff2,#f8f6f7f2);background-size:auto,auto,auto;background-position:top left,top right,top;background-repeat:no-repeat,no-repeat,repeat;background-attachment:scroll,scroll,scroll;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.App{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:clip}.App[data-tab=chat],.App[data-tab=kb]{background:var(--bg-muted, #f3f1f4);isolation:isolate}.App[data-tab=chat]:before,.App[data-tab=chat]:after,.App[data-tab=kb]:before,.App[data-tab=kb]:after{display:none}.App:before,.App:after{content:"";position:fixed;inset:auto;width:32rem;height:32rem;border-radius:50%;pointer-events:none;z-index:0;filter:blur(28px);opacity:.36}.App:before{top:-10rem;right:-8rem;background:radial-gradient(circle,rgba(192,69,90,.55),transparent 68%)}.App:after{left:-8rem;bottom:-10rem;background:radial-gradient(circle,rgba(139,26,46,.38),transparent 68%)}.App-header,.App-main,.App-footer{position:relative;z-index:1}.glass-panel,.card,.chat-container,.chat-toolbar,.welcome-card,.login-card,.project-selection-bar,.App-header{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.App-header{position:sticky;top:0;z-index:30;margin:0;width:100%;background:#fff;border:none;border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 2px 12px #00000012;border-radius:0;overflow:hidden}.header-main{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;width:100%;height:64px;border-bottom:1px solid var(--tab-line)}.header-left,.header-right{display:flex;align-items:center;width:25%;flex-shrink:0}.header-right{justify-content:flex-end}.header-center{flex:1;display:flex;justify-content:center}.header-brand{display:flex;align-items:center;justify-content:flex-start;width:100%;overflow:visible}.header-logo{display:block;width:auto;max-width:100%;height:auto;max-height:48px;object-fit:contain;object-position:left center;filter:none}.header-tabs{display:inline-flex;align-items:flex-end;align-self:stretch;gap:4px}.header-center{align-self:stretch;align-items:flex-end}.header-tabs .tab{border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;min-height:34px;padding:6px 14px;background:transparent;color:var(--bp-text-hint);display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition)}.header-tabs .tab:hover:not(:disabled){color:var(--bp-text-active);background:var(--bp-header-bg)}.header-tabs .tab.active{color:var(--primary-color);background:#fff;border-color:var(--tab-line);margin-bottom:-1px;padding-bottom:7px}.header-tabs .tab:disabled{opacity:.5;cursor:not-allowed}.matching-mode-control{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--bp-gap)}.matching-mode-label{display:block;font-size:var(--bp-label-size);font-weight:var(--bp-label-weight);letter-spacing:var(--bp-label-tracking);text-transform:uppercase;color:var(--bp-text-label)}.matching-mode-segmented{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:0;background:none;border:none}.matching-mode-option{flex:0 0 auto;min-width:0;min-height:24px;padding:4px 9px;border:1px solid var(--bp-border);border-radius:4px;background:none;color:var(--bp-text-hint);display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:.66rem;font-weight:600;letter-spacing:var(--bp-label-tracking);text-transform:uppercase;white-space:nowrap;line-height:1.25;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.matching-mode-option:hover:not(:disabled){background:var(--bp-row-hover);border-color:var(--bp-border-accent);color:var(--bp-text-active)}.matching-mode-option:focus-visible{outline:none;box-shadow:0 0 0 4px #8b1a2e1f}.matching-mode-option.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.matching-mode-option.active:hover:not(:disabled){background:var(--primary-dark);color:#fff}.matching-mode-option:disabled{opacity:.5;cursor:not-allowed}.matching-mode-help{margin:0;font-size:.72rem;color:var(--bp-text-hint)}.tab-icon{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;padding:0 6px;background:#0000000f}.header-tabs .tab.active .tab-icon{background:#8b1a2e1a}.tab-text{white-space:nowrap}.header-user{display:flex;align-items:center;gap:8px}.user-name{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px 0 8px;border-radius:7px;background:#0000000a;border:1px solid rgba(0,0,0,.08);font-size:.84rem;font-weight:600;color:#000000b3}.user-badge{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-color);color:#fff;font-size:.7rem;letter-spacing:.08em;font-weight:700}.project-selection-bar{padding:6px 24px 8px;background:#ffffff08;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);width:100%}.project-selection-bar>*{width:min(1240px,100%);margin:0 auto}.project-controls{display:flex;align-items:flex-end;justify-content:center;gap:12px}.project-confirmed{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.project-display{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:7px;background:#ffffffb8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(139,26,46,.1);box-shadow:var(--shadow-sm);transition:background var(--transition),box-shadow var(--transition)}.project-display:hover{background:#ffffffeb;box-shadow:var(--shadow-md)}.project-label{font-size:.82rem;font-weight:700;color:#4b5563}.project-value{color:var(--primary-color);font-weight:700}.project-separator{color:var(--bp-text-sys)}.control-group{display:flex;flex-direction:column;gap:4px;padding:6px 12px;border-radius:4px;background:var(--bp-control-bg);border:1px solid var(--bp-border);box-shadow:none;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.control-group:hover{background:#ffffffe6;border-color:#8b1a2e1f;box-shadow:var(--shadow-sm)}.control-group label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4b5563}.control-group .project-select{min-height:34px;padding:6px 10px}.project-input,.project-select,.form-input,.chat-input,.month-selector-button,.multi-select-trigger{width:100%;min-height:46px;padding:12px 14px;border-radius:7px;border:1px solid rgba(139,26,46,.12);background:#fff;color:var(--text-primary);font-size:.92rem;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.project-input:focus,.project-select:focus,.form-input:focus,.chat-input:focus,.month-selector-button:focus,.multi-select-trigger:focus{outline:none;border-color:var(--bp-border-focus);box-shadow:0 0 0 3px #8b1a2e24}.project-select{min-width:180px}.month-selector-button,.multi-select-trigger{display:flex;align-items:center;gap:.5rem;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none}.multi-select-trigger:hover,.month-selector-button:hover{border-color:var(--primary-color)}.App-main{padding:10px 12px 12px}.content-wrapper{width:min(1240px,100%);margin:0 auto}.upload-container,.knowledge-container,.chat-page{display:flex;flex-direction:column;gap:12px;width:100%;margin-inline:auto}.workflow-overview{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-radius:8px;background:linear-gradient(135deg,#ffffffe0,#ffffff9e),linear-gradient(135deg,#8b1a2e14,#c0455a08);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-sm)}.workflow-copy{display:flex;align-items:center;gap:12px;min-width:0}.workflow-eyebrow{display:none}.workflow-copy h2{margin:0;font-size:clamp(1rem,1.4vw,1.25rem);font-weight:800;line-height:1.25}.workflow-copy p{margin:2px 0 0;font-size:.74rem;font-weight:400;color:var(--text-secondary);line-height:1.4}.progress-steps{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.step{display:inline-flex;align-items:center;gap:10px;position:relative}.step:not(:last-child):after{content:"";position:absolute;left:calc(100% + 8px);width:12px;height:1px;background:var(--bp-step-connector)}.step-number,.file-item-size,.selection-count,.progress-text,.message-time,.sync-status-stats,.status-badge{font-variant-numeric:tabular-nums}.step-number{width:26px;height:26px;border-radius:4px;background:var(--bp-step-idle-bg);border:1px solid var(--bp-step-idle-border);display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:800;color:var(--primary-color);flex-shrink:0}.step-label{font-size:var(--bp-label-size);font-weight:var(--bp-label-weight);letter-spacing:var(--bp-label-tracking);text-transform:uppercase;color:var(--bp-text-label)}.step.completed .step-number{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-color:transparent;color:#fff}.step.disabled{opacity:.56}.upload-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}.upload-mosaic>.card{display:flex;flex-direction:column}.upload-mosaic>.card.card-collapsed{align-self:start}.upload-mosaic>.card>.card-body{flex:1}.upload-mosaic>.card-featured{grid-column:span 1}.upload-mosaic>.card-generate{grid-column:1 / -1}.card{min-width:0;border-radius:9px;background:var(--bp-panel-bg);border:1px solid var(--bp-border);box-shadow:var(--bp-shadow);overflow:hidden;transition:box-shadow var(--transition),border-color var(--transition)}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}@media(max-width:900px){.upload-grid{grid-template-columns:1fr}}.transmittal-card{overflow:hidden}.transmittal-toggle{width:100%;display:flex;align-items:center;gap:.6rem;padding:var(--bp-pad-header);background:transparent;border:none;cursor:pointer;text-align:left;font:inherit;transition:background var(--transition)}.transmittal-toggle:hover{background:var(--bp-row-hover)}.transmittal-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:#8b1a2e14;color:var(--primary-color);font-size:.95rem;flex-shrink:0}.transmittal-toggle-label{flex:1;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary)}.transmittal-toggle-chevron{color:var(--text-primary);font-size:.95rem;font-weight:700;transition:transform .2s ease}.transmittal-toggle-chevron.open{transform:rotate(180deg)}.transmittal-section{border-radius:7px;background:var(--bp-panel-bg);border:1px solid var(--bp-border);box-shadow:var(--bp-shadow);overflow:hidden;margin-bottom:1rem}.transmittal-panel{padding:0 14px 14px;border-top:1px solid var(--bp-divider);display:flex;flex-direction:column;gap:.9rem}.transmittal-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem 1rem;align-items:start}.field{min-width:0;display:flex;flex-direction:column;gap:.25rem}.field-label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--bp-text-label)}.field .project-select{width:100%}.field-textarea{min-height:3.5rem;resize:vertical}.field-block{margin-bottom:var(--bp-gap)}.roster-input{width:100%;padding:.5rem;border:1px solid var(--bp-control-border);border-radius:4px;background:var(--bp-control-bg);font-size:.8rem;font-family:inherit;resize:vertical}.field-warning{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--warning-color)}.transmittal-include-row{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.transmittal-include-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.transmittal-generator{border-top:1px solid var(--bp-divider);margin-top:.25rem;padding-top:.25rem}.transmittal-generator-header{display:flex;align-items:center;gap:.75rem;padding:.6rem .25rem;border-radius:5px;transition:background var(--transition)}.transmittal-generator-header:hover{background:var(--bp-row-hover)}.transmittal-generator-header .card-header-main{flex:1;display:flex;align-items:center;gap:.75rem;min-width:0}.transmittal-generator-header .card-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:#8b1a2e14;color:var(--primary-color);font-size:.95rem;flex-shrink:0}.transmittal-generator-header .card-title-section{min-width:0}.card:hover{border-color:var(--bp-border-accent)}.card-glass{background:linear-gradient(180deg,#fffffff5,#ffffffc2),linear-gradient(135deg,rgba(139,26,46,.04),transparent)}.card-wide,.card-primary-action,.notice-card{grid-column:1 / -1}.card-featured{grid-column:span 2}.card-support{grid-column:span 1}.section-dropdown-trigger{grid-column:1 / -1;display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;cursor:pointer;border-radius:5px;transition:background var(--transition),color var(--transition);color:var(--text-secondary);text-align:left}.section-dropdown-trigger:hover{background:#8b1a2e0f;color:var(--primary-color)}.section-dropdown-trigger.collapsed{padding:10px 14px}.section-dropdown-trigger.collapsed .section-dropdown-label{font-size:.756rem}.section-dropdown-trigger:focus-visible{outline:none;box-shadow:0 0 0 4px #8b1a2e1f}.section-dropdown-label{flex:1;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.section-dropdown-chevron{display:inline-flex;align-items:center;transition:transform var(--transition)}.section-dropdown-chevron.open{transform:rotate(180deg)}.transmittal-section-cards{grid-column:1 / -1}.transmittal-section-cards .card{max-height:calc(100vh - 120px);display:flex;flex-direction:column}.transmittal-section-cards .card-body{flex:1;overflow-y:auto;overscroll-behavior:contain}.transmittal-section-cards .card-header{padding:26px 29px 19px}.transmittal-section-cards .card-header h2{font-size:1.2em}.transmittal-section-cards .card-body{padding:29px}.transmittal-section-cards .form-label{font-size:1.02rem}.transmittal-section-cards .form-control,.transmittal-section-cards .project-select{font-size:1rem;padding:10px 14px}.transmittal-section-divider{border:none;border-top:1px solid rgba(139,26,46,.08);margin:8px 0}.upload-mosaic *::-webkit-scrollbar,.transmittal-section-cards *::-webkit-scrollbar{width:6px;height:6px}.upload-mosaic *::-webkit-scrollbar-thumb,.transmittal-section-cards *::-webkit-scrollbar-thumb{background:#8b1a2e2e;border-radius:999px}.upload-mosaic *::-webkit-scrollbar-track,.transmittal-section-cards *::-webkit-scrollbar-track{background:transparent}.transmittal-section-cards .card-body::-webkit-scrollbar-track{background:transparent}.card-success{border-color:#169b6b47;box-shadow:0 18px 44px #169b6b1f}.card-success .card-header{border-bottom-color:#169b6b24;background:linear-gradient(180deg,#def7ec4d,#fff0)}.card-success .card-icon-label{color:var(--success-color)}.card-disabled{opacity:.6;pointer-events:none}.card-disabled .card-header-toggle{pointer-events:auto}.card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--bp-gap);padding:var(--bp-pad-header);border-bottom:1px solid var(--bp-divider)}.card-header-toggle{cursor:pointer}.card-header-main{display:flex;align-items:center;gap:var(--bp-gap-tight);min-width:0}.card-header-actions{display:flex;align-items:center;gap:var(--bp-gap-tight);flex-wrap:wrap;flex-shrink:0}.card-header-actions .btn{min-height:30px;padding:0 12px;font-size:.78rem}.card-icon{flex-shrink:0}.card-icon-label,.drop-zone-icon,.file-item-icon,.chat-header-icon,.chat-empty-icon,.login-logo,.welcome-icon,.success-icon,.success-checkmark,.error-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-weight:800;letter-spacing:.08em}.tab-icon svg,.user-badge svg,.card-icon-label svg,.drop-zone-icon svg,.file-item-icon svg,.chat-header-icon svg,.chat-empty-icon svg,.login-logo svg,.welcome-icon svg,.success-icon svg,.success-checkmark svg,.error-icon svg,.message-avatar svg{stroke-width:1.9}.tab-icon svg{width:20px;height:20px}.user-badge svg{width:14px;height:14px}.card-icon-label svg{width:17px;height:17px}.drop-zone-icon svg{width:22px;height:22px}.file-item-icon svg{width:14px;height:14px}.chat-header-icon svg{width:18px;height:18px}.chat-empty-icon svg{width:36px;height:36px}.login-logo svg{width:28px;height:28px}.welcome-icon svg{width:30px;height:30px}.success-icon svg{width:13px;height:13px}.success-checkmark svg{width:16px;height:16px}.error-icon svg{width:20px;height:20px}.message-avatar svg{width:18px;height:18px}.card-icon-label{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--primary-color);background:none;border:none;opacity:.6}.card-title-section h2{margin:0;font-size:.92rem;font-weight:700;line-height:1.25;color:var(--bp-text-active)}.card-optional{font-size:.76rem;font-weight:600;color:var(--text-secondary)}.card-description{margin:0;color:var(--bp-text-hint);font-size:.9rem}.card-body{padding:var(--bp-pad-body)}.upload-mosaic .card-support .card-body,.upload-mosaic .card-featured .card-body,.upload-mosaic .card-generate .card-body{max-height:calc(100vh - 360px);overflow-y:auto}.upload-mosaic .card-support .card-body{display:flex;flex-direction:column}.template-card-body{flex:1;display:flex;flex-direction:column}.upload-card-actions{justify-content:flex-end}.template-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.card-header-toggle:hover .card-chevron{color:var(--primary-light);filter:drop-shadow(0 0 6px rgba(192,69,90,.55))}.card-chevron{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:6px;background:#8b1a2e0f;color:var(--primary-color);transition:transform var(--transition),color var(--transition),filter var(--transition)}.card-chevron.open{transform:rotate(180deg)}.toggle-inline{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:#ffffffd1;border:1px solid rgba(139,26,46,.08)}.toggle-checkbox,.form-checkbox,.multi-select-checkbox,.year-checkbox,.month-checkbox{width:18px;height:18px;accent-color:var(--primary-color)}.toggle-label{font-size:.82rem;font-weight:700;color:var(--text-secondary)}.toggle-label.active{color:var(--primary-color)}.card-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.form-field{min-width:0}.form-field-full{grid-column:1 / -1}.form-label{display:block;margin-bottom:4px;font-size:var(--bp-label-size);font-weight:var(--bp-label-weight);letter-spacing:var(--bp-label-tracking);text-transform:uppercase;color:var(--bp-text-label)}.form-control{min-width:0}.form-control-spaced{margin-top:8px}.form-textarea{min-height:108px;resize:vertical}.field-hint,.field-warning{margin:6px 0 0;font-size:.76rem}.field-hint{color:var(--bp-text-hint)}.notice-card{padding:18px 20px;border-radius:10px;border:1px solid rgba(183,121,31,.22);background:linear-gradient(135deg,#ffffffd6,#fff4dde0);box-shadow:var(--shadow-sm)}.notice-card strong{display:block;margin-bottom:4px;color:var(--warning-color)}.notice-card p{margin:0;color:#7b5d20}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:0 7px;border-radius:3px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:var(--bp-label-tracking)}.badge.success{color:var(--success-color);background:var(--success-light)}.file-drop-zone{display:block;padding:18px 14px;border-radius:6px;border:1.5px dashed var(--bp-dropzone-border);background:var(--bp-dropzone-bg);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.file-drop-zone:hover{border-color:var(--bp-dropzone-border-hover);background:var(--bp-dropzone-bg-hover)}.file-drop-zone.drag-over,.files-section.drag-over,.template-card-body.drag-over{border-color:var(--primary-color);background-color:#8b1a2e14;box-shadow:0 0 0 2px #8b1a2e26;border-radius:9px}.hidden-input{display:none}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.drop-zone-icon,.file-item-icon{display:inline-flex;align-items:center;justify-content:center;min-width:24px;width:24px;height:24px;border-radius:4px;color:var(--primary-color);background:var(--bp-row-hover);border:none}.drop-zone-text{font-size:.98rem;font-weight:700}.drop-zone-hint{color:var(--bp-text-hint);font-size:.82rem}.file-item,.suggestion-chip,.month-dropdown,.multi-select-options{background:#ffffffb8;border:1px solid rgba(139,26,46,.08);box-shadow:var(--shadow-sm)}.files-header h3{margin:0;font-size:var(--bp-label-size);font-weight:var(--bp-label-weight);letter-spacing:var(--bp-label-tracking);text-transform:uppercase;color:var(--bp-text-label)}.file-item-size{color:var(--bp-text-sys);font-size:.68rem}.files-section{display:flex;flex-direction:column;gap:var(--bp-gap-tight)}.files-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.btn-text{padding:0;border:none;background:none;color:var(--primary-color);font-weight:700;cursor:pointer}.file-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.file-item{display:flex;align-items:center;gap:var(--bp-gap-tight);padding:5px 8px;border-radius:4px}.file-item-info{flex:1;min-width:0}.file-item-name{display:block;font-size:.78rem;font-weight:500;color:var(--bp-text-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-progress{width:96px;flex:0 0 auto;display:flex;align-items:center;gap:6px}.upload-progress{display:flex;align-items:center;gap:6px;padding:0 8px;margin-top:8px}.progress-bar{flex:1;min-width:0;height:3px;border-radius:999px;background:var(--bp-track-bg);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));transition:width var(--transition)}.progress-bar.is-indeterminate .progress-fill{width:40%;animation:progress-slide 1.1s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.progress-bar.is-indeterminate .progress-fill{width:100%;animation:none;opacity:.55}}.progress-text{flex:0 0 auto;font-size:.7rem;color:var(--text-secondary)}.data-panel{background:var(--bp-inset-bg);border:1px solid var(--bp-border);border-radius:4px;padding:var(--bp-pad-body);margin-bottom:var(--bp-gap)}.data-panel-head{display:flex;justify-content:space-between;align-items:center;gap:var(--bp-gap);flex-wrap:wrap}.data-panel-note{margin-top:3px;font-size:var(--bp-hint-size);color:var(--bp-text-hint)}.micro-label{display:block;font-size:var(--bp-label-size);font-weight:var(--bp-label-weight);letter-spacing:var(--bp-label-tracking);text-transform:uppercase;color:var(--bp-text-label)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--bp-gap-tight);margin-bottom:var(--bp-gap)}.stat-tile{background:var(--bp-panel-bg);border:1px solid var(--bp-border);border-radius:4px;padding:var(--bp-pad-row)}.stat-value{margin-top:2px;font-size:.95rem;font-weight:600;color:var(--bp-text-title);font-variant-numeric:tabular-nums}.tag{display:inline-flex;align-items:center;padding:1px 7px;border-radius:3px;border:1px solid var(--bp-border);background:var(--bp-panel-bg);color:var(--bp-text-hint);font-size:.7rem;font-weight:500;line-height:1.7;white-space:nowrap}.inline-hint{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--bp-divider);font-size:var(--bp-hint-size);color:var(--bp-text-hint)}.inline-hint svg{flex-shrink:0;color:var(--bp-text-sys)}.table-frame{background:var(--bp-panel-bg);border:1px solid var(--bp-border);border-radius:4px;overflow:hidden}.table-frame-head{padding:var(--bp-pad-row);border-bottom:1px solid var(--bp-border);background:var(--bp-header-bg)}.table-frame-title{font-size:.8rem;font-weight:600;color:var(--bp-text-title)}.table-frame-body{padding:var(--bp-pad-row)}.table-frame-row{display:flex;justify-content:space-between;align-items:center;gap:var(--bp-gap-tight);padding:var(--bp-pad-row);border-bottom:1px solid var(--bp-divider)}.table-frame-row:last-child{border-bottom:none}.sub-note{margin-top:2px;font-size:var(--bp-hint-size);color:var(--bp-text-hint)}.panel-title{margin:0 0 var(--bp-gap-tight);font-size:.86rem;font-weight:700;color:var(--bp-text-title)}.kb-info .data-panel{background:var(--kb-fill);border-color:var(--kb-edge)}.kb-info .stat-tile,.kb-info .table-frame{border-color:var(--kb-edge)}.kb-info .table-frame-head{background:var(--kb-fill);border-bottom-color:var(--kb-edge)}.kb-info .table-frame-row{border-bottom-color:var(--kb-edge)}.kb-info .micro-label,.kb-info .panel-title{color:var(--kb-label)}.row-between{display:flex;justify-content:space-between;align-items:center;gap:var(--bp-gap-tight);flex-wrap:wrap}.chip-row{display:flex;flex-wrap:wrap;gap:4px}.icon-button{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:5px}.icon-button:hover{color:var(--primary-color);background:#8b1a2e0f}.success-message{display:flex;flex-direction:column;align-items:flex-start;gap:var(--bp-gap-tight);margin-top:var(--bp-gap-tight);padding:0;border:none;background:none;color:var(--success-color);font-size:.75rem;font-weight:500}.success-message-top{display:flex;align-items:center;gap:5px;min-width:0}.success-message-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.success-message-split{width:100%;justify-content:space-between}.success-inline{display:inline-flex;align-items:center;gap:10px}.success-icon,.success-checkmark{min-width:42px;height:42px;padding:0 14px;color:var(--success-color);background:#169b6b1f;border:1px solid rgba(22,155,107,.16);font-size:.7rem}.success-checkmark{min-width:78px;border-radius:999px}.error-card{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:9px;border:1px solid rgba(192,57,43,.18);background:#ffffffc7;box-shadow:var(--shadow-sm);color:var(--error-color)}.error-icon{min-width:36px;height:36px;border-radius:6px;color:var(--error-color);background:#c0392b1a;border:1px solid rgba(192,57,43,.14);font-size:.9rem}.ready-checklist{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:var(--bp-gap)}.checklist-item{display:inline-flex;align-items:center;gap:5px;width:auto;padding:0;background:none;border:none;box-shadow:none}.checklist-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;border-radius:3px;background:none;color:var(--bp-text-sys)}.checklist-item.completed .checklist-icon{color:var(--success-color)}.checklist-text{font-size:.72rem;font-weight:500;white-space:nowrap;color:var(--bp-text-hint)}.checklist-item.completed .checklist-text{color:var(--bp-text-active)}.processing-status,.success-content{text-align:center;padding:10px 0 4px}.processing-status h3,.success-content h3{margin:0 0 8px;font-size:1.28rem}.status-description,.success-content p{margin:0 0 18px;color:var(--text-secondary)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.status-starting,.status-running,.status-progress,.status-stopped{background:#b7791f1f;color:var(--warning-color)}.status-succeeded,.status-complete{background:#169b6b1f;color:var(--success-color)}.status-failed,.status-timed_out,.status-aborted{background:#c0392b1f;color:var(--error-color)}.processing-hint{margin-top:10px;font-size:.84rem;color:var(--text-secondary)}.action-buttons,.card-actions,.button-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.preview-panel{margin-bottom:1rem}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.preview-heading{margin:0;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.preview-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.preview-fullscreen-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#1c1d229e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.preview-fullscreen-shell{width:min(1180px,100%);max-height:min(920px,calc(100vh - 3rem));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fffffff0;box-shadow:var(--shadow-lg)}.preview-fullscreen-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;border-bottom:1px solid rgba(139,26,46,.08);background:linear-gradient(180deg,#c0455a14,#ffffffd1),#ffffffeb}.preview-fullscreen-title-group{display:flex;flex-direction:column;gap:.2rem;min-width:0}.preview-fullscreen-title{font-size:1rem;font-weight:800;color:var(--text-primary)}.preview-fullscreen-subtitle{font-size:.8rem;color:var(--text-secondary)}.preview-fullscreen-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.msr-preview-fullscreen{flex:1;overflow-y:auto;padding:1.75rem;background:radial-gradient(circle at top right,rgba(192,69,90,.09),transparent 24%),linear-gradient(180deg,#f3f1f4eb,#fffffff5)}.msr-preview-fullscreen .msr-preview-content{max-width:850px;margin:0 auto;padding:3rem 3.5rem;border:1px solid rgba(139,26,46,.08);border-radius:9px;background:#fff;box-shadow:var(--shadow-md);text-align:left;font-size:.9rem;line-height:1.65;font-family:Calibri,Segoe UI,sans-serif;color:#1f2937}.msr-preview-fullscreen .msr-preview-content h1{font-size:1.15rem;margin:1.2rem 0 .5rem;font-weight:700}.msr-preview-fullscreen .msr-preview-content h2{font-size:1.05rem;margin:1rem 0 .4rem;font-weight:700}.msr-preview-fullscreen .msr-preview-content h3{font-size:.95rem;margin:.8rem 0 .3rem;font-weight:600}.msr-preview-fullscreen .msr-preview-content h4,.msr-preview-fullscreen .msr-preview-content h5{font-size:.9rem;margin:.6rem 0 .25rem;font-weight:600}.msr-preview-fullscreen .msr-preview-content p{margin:.35rem 0}.msr-preview-fullscreen .msr-preview-content table{width:100%;margin:.75rem 0;border-collapse:collapse;font-size:.8rem}.msr-preview-fullscreen .msr-preview-content td,.msr-preview-fullscreen .msr-preview-content th{border:1px solid #d1d5db;padding:.35rem .6rem}.msr-preview-fullscreen .msr-preview-content th{background:#f9fafb;font-weight:600}.msr-preview-fullscreen .msr-preview-content strong{font-weight:600}.btn{min-height:34px;padding:0 14px;border-radius:5px;border:1px solid transparent;background:var(--bp-control-bg);color:var(--bp-text-active);font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition),background var(--transition);text-decoration:none}.btn-logout{min-height:40px;padding:0 14px;border-radius:6px;font-size:.84rem}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary,.btn-gradient,.btn-login,.btn-confirm,.dropdown-actions .btn-confirm,.btn-outline-primary{--btn-accent: var(--primary-color);--btn-accent-soft: rgba(139, 26, 46, .1);background:transparent;color:var(--primary-color);border-color:var(--primary-color);box-shadow:none}.btn-success-compact{min-height:26px;padding:0 9px;border-radius:4px;background:transparent;color:var(--success-color);border-color:var(--success-color);box-shadow:none;font-size:.78rem}.btn-primary:hover:not(:disabled),.btn-gradient:hover:not(:disabled),.btn-login:hover:not(:disabled),.btn-confirm:hover:not(:disabled),.dropdown-actions .btn-confirm:hover:not(:disabled),.btn-outline-primary:hover:not(:disabled){background:#8b1a2e14;box-shadow:0 4px 14px #8b1a2e1f;transform:translateY(-1px)}.btn-success-compact:hover:not(:disabled){background:#169b6b14}.btn-action{min-height:38px;padding:0 20px;font-size:.86rem;border-radius:5px}.btn-secondary,.btn-logout,.dropdown-actions .btn-cancel{background:#ffffffc2;border-color:#8b1a2e1f;color:var(--text-secondary)}.btn-kb-blue{--btn-accent: #036692;--btn-accent-soft: rgba(3, 102, 146, .1);color:#036692;border-color:#036692;background:transparent}.btn-kb-blue:hover:not(:disabled){background:#0284c714;box-shadow:0 4px 14px #0284c71f;transform:translateY(-1px)}.btn-kb-amber{--btn-accent: #b45309;--btn-accent-soft: rgba(217, 119, 6, .14);color:#b45309;border-color:#d97706;background:transparent}.btn-kb-amber:hover:not(:disabled){background:#d9770614;box-shadow:0 4px 14px #d977061f;transform:translateY(-1px)}.btn-kb-purple{--btn-accent: #6d28d9;--btn-accent-soft: rgba(124, 58, 237, .1);color:#6d28d9;border-color:#7c3aed;background:transparent}.btn-kb-purple:hover:not(:disabled){background:#7c3aed14;box-shadow:0 4px 14px #7c3aed1f;transform:translateY(-1px)}.tab-strip{display:flex;align-items:flex-end;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--tab-line);margin-bottom:var(--bp-gap)}.tab-strip .btn{border-bottom-color:transparent;border-radius:5px 5px 0 0}.tab-strip .btn.is-active{margin-bottom:-1px;border-bottom:1px solid var(--bp-panel-bg)}.btn-action.is-active,.btn-action.is-active:hover:not(:disabled){background:var(--btn-accent-soft, rgba(139, 26, 46, .1));border-color:var(--btn-accent, var(--primary-color));color:var(--btn-accent, var(--primary-color));font-weight:700;box-shadow:none;transform:none}.btn-action.is-active:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--btn-accent, var(--primary-color));flex-shrink:0}.btn-flat-amber{background:transparent;border-color:transparent;color:#b45309;box-shadow:none}.btn-flat-amber:hover:not(:disabled){background:#d977061f;box-shadow:none;transform:none}.btn-flat-amber:active:not(:disabled){background:#d9770638;box-shadow:none;transform:none}.btn-download{color:var(--primary-dark);background:transparent;border-color:var(--primary-dark)}.btn-download:hover:not(:disabled){background:#6b122214}.btn-change-small{background:transparent;border-color:#8b1a2e2e;color:var(--primary-color)}.btn-change-small:hover:not(:disabled),.btn-logout:hover:not(:disabled){background:#8b1a2e14;color:var(--primary-color)}.btn-resync-large,.btn-send{color:var(--primary-color);background:transparent;border-color:var(--primary-color)}.btn-full{width:auto}.btn-full+.btn-full{margin-left:var(--bp-gap-tight)}@media(max-width:520px){.btn-full{width:100%}.btn-full+.btn-full{margin-left:0;margin-top:var(--bp-gap-tight)}}.generate-btn-row{display:flex;align-items:center;gap:2.5rem;margin-top:1rem;flex-wrap:wrap}.generate-btn-footer{padding:16px 24px 20px;margin-top:0}.card-disabled .generate-btn-footer{pointer-events:auto}.btn-large{min-height:34px;font-size:.82rem}.btn-inline-end{margin-left:auto}.card-success .btn-text,.card-success .btn-inline-end{color:var(--success-color)}.spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin 1s linear infinite}.spinner-large{width:52px;height:52px;margin:0 auto 18px;border-radius:50%;border:3px solid rgba(139,26,46,.12);border-top-color:var(--primary-color);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-page{display:flex;flex-direction:column;gap:8px;flex:1;min-height:420px}.App-main:has(.chat-page),.App-main:has(.chat-page)>.content-wrapper{display:flex;flex-direction:column;flex:1;min-height:0}.chat-toolbar{display:flex;justify-content:flex-end;padding:9px 14px;border-radius:6px;background:#ffffffb8;border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-sm);position:relative;z-index:10}.chat-toolbar .month-selector-label{font-size:var(--bp-label-size);font-weight:var(--bp-label-weight);letter-spacing:var(--bp-label-tracking);text-transform:uppercase;color:var(--bp-text-label)}.chat-toolbar .month-selector-button,.chat-toolbar .multi-select-trigger{min-height:30px;padding:0 10px;font-size:.8rem;border-radius:5px}.chat-toolbar .btn-action{min-height:28px;padding:0 10px;font-size:.74rem}.toolbar-right{display:flex;align-items:center;gap:12px}.month-selector-label{font-size:.88rem;font-weight:700}.multi-month-selector,.multi-select-dropdown{position:relative;min-width:220px}.multi-select-options,.month-dropdown{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:12;border-radius:9px;overflow:hidden;color:var(--text-primary);background:#fff;box-shadow:var(--shadow-md)}.multi-select-option,.month-option,.year-option{display:flex;align-items:center;gap:10px;padding:10px 14px}.multi-select-option:hover,.month-option:hover{background:#8b1a2e0d}.multi-select-empty{padding:14px 16px;color:var(--text-secondary);font-size:.85rem;font-style:italic;text-align:center}.multi-select-display,.selector-label{flex:1}.multi-select-arrow,.selector-arrow{color:var(--text-secondary);transition:transform var(--transition)}.multi-select-dropdown.open .multi-select-arrow,.selector-arrow.open{transform:rotate(180deg)}.dropdown-header,.dropdown-footer{padding:14px;border-bottom:1px solid rgba(139,26,46,.08)}.dropdown-footer{border-top:1px solid rgba(139,26,46,.08);border-bottom:none}.dropdown-action,.dropdown-actions .btn-cancel,.dropdown-actions .btn-confirm{min-height:40px;border-radius:6px}.dropdown-action{padding:6px 14px;font-size:.78rem;font-weight:700;letter-spacing:.02em;background:#ffffffeb;color:var(--primary-color);border:1px solid rgba(139,26,46,.22);cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.dropdown-action:hover{background:#8b1a2e14;border-color:var(--primary-color);transform:translateY(-1px)}.dropdown-action:focus-visible{outline:none;box-shadow:0 0 0 3px #8b1a2e2e}.dropdown-header,.dropdown-actions{display:flex;gap:10px}.month-list{max-height:320px;overflow-y:auto;padding:10px}.year-group+.year-group{margin-top:10px}.year-header{padding:6px;border-radius:6px;background:#8b1a2e0d}.year-months{display:grid;gap:4px;padding-top:6px}.month-option.indented{padding-left:26px}.selection-count,.selector-year{color:var(--text-secondary)}.chat-container{display:flex;flex-direction:column;flex:1;min-height:0;border-radius:8px;background:linear-gradient(180deg,#ffffffd6,#ffffffb8);border:1px solid rgba(255,255,255,.74);box-shadow:var(--shadow-lg);overflow:hidden}.chat-header{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid rgba(139,26,46,.08)}.chat-header .chat-header-icon{min-width:30px;width:30px;height:30px;padding:0;border-radius:4px}.chat-header .chat-header-icon svg{width:15px;height:15px}.chat-header .chat-header-text h2{margin:0;font-size:.92rem;font-weight:700}.chat-header .chat-header-text p{font-size:var(--bp-hint-size)}.chat-header .chat-history-select{min-height:28px;padding:0 8px;font-size:.78rem}.chat-header .chat-history-label{font-size:var(--bp-label-size);letter-spacing:var(--bp-label-tracking)}.chat-header .chat-history-controls{gap:2px;min-width:190px}.chat-header .btn-action{min-height:28px;padding:0 10px;font-size:.74rem}.chat-header-text{flex:1;min-width:240px}.chat-header-text p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.chat-history-controls{display:flex;flex-direction:column;gap:4px;min-width:220px}.chat-history-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.chat-history-select{padding:.45rem .6rem;border-radius:5px;border:1px solid rgba(139,26,46,.18);background:#fff;color:var(--text-primary);font-size:.85rem;min-height:36px;cursor:pointer}.chat-history-select:hover{border-color:var(--primary-color)}.chat-scope-badge{display:inline-flex;align-items:center;gap:.45rem;padding:0 .8rem;height:36px;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;border-radius:5px;font-weight:700;font-size:.85rem;box-shadow:0 2px 6px #00000026;white-space:nowrap}.chat-scope-badge-label{font-size:.7rem;opacity:.85;letter-spacing:.06em}.chat-header-icon,.chat-empty-icon,.login-logo,.welcome-icon{min-width:52px;height:52px;padding:0 14px;font-size:.74rem;color:var(--primary-color);background:#8b1a2e14;border:1px solid rgba(139,26,46,.1)}.chat-header-text h2,.welcome-card h2,.login-header h1{margin:0 0 4px}.chat-header-text p,.chat-empty-subtitle,.welcome-card p,.login-header p,.resync-hint,.sync-status-text,.sync-status-stats{margin:0;color:var(--text-secondary)}.chat-messages{flex:1;overflow-y:auto;padding:14px 16px;background:linear-gradient(180deg,#f8f5f6b3,#f3f0f266)}.chat-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:24px 16px}.chat-empty-title{margin:0;font-size:1.08rem;font-weight:700}.message{display:flex;gap:12px;margin-bottom:16px}.message.user{flex-direction:row-reverse}.message-avatar{min-width:38px;height:38px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:#8b1a2e14;border:1px solid rgba(139,26,46,.1);color:var(--primary-color);font-size:.74rem;font-weight:800}.message-content{max-width:74%}.message.user .message-content{display:flex;flex-direction:column;align-items:flex-end}.message-bubble{padding:12px 14px;border-radius:9px;background:#ffffffdb;border:1px solid rgba(139,26,46,.08);box-shadow:var(--shadow-sm)}.message.user .message-bubble{color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-color:transparent}.message-text,.markdown-content{margin:0;white-space:pre-wrap;word-break:break-word}.message-time{margin:6px 4px 0;font-size:.72rem;color:var(--text-secondary)}.typing-indicator{display:inline-flex;gap:6px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#8b1a2e73;animation:bounce 1.2s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.1s}.typing-indicator span:nth-child(3){animation-delay:.2s}@keyframes bounce{0%,80%,to{transform:scale(.85);opacity:.6}40%{transform:scale(1);opacity:1}}.chat-input-container{display:flex;align-items:flex-end;gap:10px;padding:10px 14px 12px;border-top:1px solid rgba(139,26,46,.08)}.chat-input{resize:vertical;min-height:52px;max-height:140px}.welcome-card{display:grid;justify-items:center;gap:10px;text-align:center;padding:52px 28px;border-radius:14px;background:linear-gradient(180deg,#ffffffe0,#ffffffbd);border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow-md)}.welcome-card .welcome-icon{width:auto;height:auto;min-width:unset;padding:0;background:none;border:none;color:var(--primary-color);opacity:.45;font-size:4rem}.login-container{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;background-color:#f8f6f7;overflow:hidden}body[data-bg-image=on] .login-container{background-image:url(/assets/AI%20Agent%20-%201-v7mHrlL6.webp);background-size:cover;background-position:center;background-repeat:no-repeat}.login-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(192,69,90,.55),transparent 42%),radial-gradient(circle at top right,rgba(139,26,46,.38),transparent 36%),radial-gradient(circle at bottom right,rgba(139,26,46,.45),transparent 45%),linear-gradient(180deg,#f8f6f7b8,#efedf1b8);pointer-events:none;z-index:0}.login-container>*{position:relative;z-index:1}.login-card{width:min(340px,100%);padding:0;border-radius:7px;background:var(--bp-panel-bg);border:1px solid var(--bp-border-accent);box-shadow:var(--bp-shadow-overlay);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);overflow:hidden}.login-brand-section{background:var(--bp-header-bg);padding:12px 16px;border-bottom:1px solid var(--bp-divider)}.login-logo-wrap{width:100%;height:42px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:2px 0}.login-brand-logo{width:150%;height:auto;flex-shrink:0;display:block}.login-form-section{padding:16px}.login-header{display:grid;justify-items:center;gap:3px;text-align:center;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--bp-divider)}.login-header h1{margin:0;color:var(--text-primary);font-size:.82rem;font-weight:600;letter-spacing:var(--bp-label-tracking);text-transform:uppercase;line-height:1.2;color:var(--bp-text-title)}.login-header p{margin:0;color:var(--text-secondary);font-size:var(--bp-hint-size);font-weight:400;color:var(--bp-text-hint);letter-spacing:.01em}.login-form{display:grid;gap:11px}.form-group{display:grid;gap:6px}.form-group label,.checkbox-label{font-size:.78rem;font-weight:500;color:var(--bp-text-hint)}.form-group-checkbox{display:flex;align-items:center;gap:10px}.input-password-wrap{position:relative;display:flex;align-items:center}.input-password-wrap .form-input{width:100%;padding-right:42px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;display:flex;align-items:center}.password-toggle:hover{color:var(--primary-color)}.login-card .form-input{background:var(--bp-control-bg);border-color:var(--bp-control-border);color:var(--text-primary)}.login-card .form-input:focus{outline:none;border-color:var(--bp-border-focus);box-shadow:0 0 0 3px #8b1a2e24;background:#fff}.login-error{display:flex;align-items:center;gap:10px;padding:var(--bp-pad-row);border-radius:4px;font-size:.78rem;background:#c0392b12;border:1px solid rgba(192,57,43,.2);color:var(--error-color)}.login-form>.btn-login{margin-top:4px}.login-card .btn-login{background:var(--primary-color);color:#fff;border-color:transparent;box-shadow:none;width:100%}.login-card .btn-login:hover:not(:disabled){background:var(--primary-dark)}.login-footer{margin-top:14px;padding-top:10px;border-top:1px solid var(--bp-divider);text-align:center}.login-footer p{margin:0;font-size:.68rem;letter-spacing:var(--bp-label-tracking);text-transform:uppercase;color:var(--bp-text-sys)}.App-footer{margin-top:20px;padding:0 12px 18px}.footer-content{display:flex;justify-content:center;align-items:center;min-height:24px;padding:0}.footer-version{margin:0;font-size:.72rem;font-weight:500;color:#4b5563b8;letter-spacing:.02em}.file-list::-webkit-scrollbar,.chat-messages::-webkit-scrollbar,.month-list::-webkit-scrollbar{width:8px}.file-list::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb,.month-list::-webkit-scrollbar-thumb{background:#8b1a2e2e;border-radius:999px}.file-list::-webkit-scrollbar-track,.chat-messages::-webkit-scrollbar-track,.month-list::-webkit-scrollbar-track{background:transparent}.match-section{margin-bottom:.75rem}.match-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem}.match-btn-group{display:flex;gap:.4rem;align-items:stretch}.match-btn{flex:1;padding:.5rem .6rem;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:5px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .12s;opacity:.72}.match-btn:hover:not(:disabled){background:#8b1a2e0f;opacity:1;transform:translateY(-1px)}.match-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-dark);opacity:1}.match-hint{font-size:.72rem;color:var(--text-secondary);margin:.3rem 0 0}.match-textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:3px;font-size:.85rem;font-family:monospace;resize:vertical;background:#ffffffd1;color:var(--text-primary)}.match-textarea *,.match-textarea *:before,.match-textarea *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(max-width:1080px){.workflow-overview{flex-wrap:wrap}.upload-mosaic>.card-featured,.upload-mosaic>.card-support{grid-column:span 1}}@media(max-width:820px){.App-header{width:100%;margin-top:0;border-radius:0}.upload-mosaic{grid-template-columns:1fr}.upload-mosaic>.card-featured,.upload-mosaic>.card-support,.upload-mosaic>.card-generate{grid-column:span 1}.header-main{flex-wrap:wrap;justify-content:center}.header-center{order:3;width:100%}.header-tabs{width:100%;justify-content:center}.project-controls,.project-confirmed,.chat-toolbar,.toolbar-right{align-items:stretch}.upload-mosaic,.card-form-grid{grid-template-columns:1fr}.form-field-full,.card-wide,.card-featured,.card-support,.card-primary-action,.notice-card{grid-column:auto}.chat-container{min-height:560px}}@media(max-width:560px){.header-logo{max-height:40px}.header-tabs{padding:4px;gap:6px}.header-tabs .tab{flex:1;min-width:0;justify-content:center;min-height:38px;padding:8px 10px}.matching-mode-segmented{gap:4px}.matching-mode-option{padding:4px 8px}.tab-text{font-size:.82rem}.project-selection-bar,.card-body,.chat-header,.chat-messages,.chat-input-container,.login-card,.workflow-overview{padding-left:16px;padding-right:16px}.card-header{padding:18px 16px 14px}.card-header-main{gap:12px}.chat-header{flex-wrap:wrap}.message-content{max-width:calc(100% - 50px)}.action-buttons,.card-actions,.button-group,.preview-toolbar,.preview-fullscreen-header{flex-direction:column;align-items:stretch}.preview-actions{justify-content:flex-start}.preview-actions .btn{width:100%}.preview-fullscreen-overlay{padding:1rem}.preview-fullscreen-shell{max-height:calc(100vh - 2rem);border-radius:10px}.preview-fullscreen-actions{justify-content:flex-start}.preview-fullscreen-actions .btn{width:100%}.msr-preview-fullscreen{padding:1rem}.msr-preview-fullscreen .msr-preview-content{padding:2rem 1.4rem;border-radius:8px}.btn-inline-end{margin-left:0}.template-actions{flex-direction:column}.template-actions .btn{width:100%}}
