:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#eef3fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0}.login-shell{display:grid;place-items:center;width:min(980px,calc(100% - 32px));min-height:100vh;margin:0 auto;padding:32px 0}.login-card{width:min(760px,100%);border:1px solid rgba(111,127,155,.18);border-radius:32px;background:#ffffffeb;box-shadow:0 24px 70px #1e3a631f;padding:36px}.login-brand{display:flex;gap:20px;align-items:flex-start;margin-bottom:26px}.login-brand p{color:#65748b;line-height:1.6}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:8px;color:#56657a;font-size:.9rem;font-weight:800}.login-form input{width:100%;border:1px solid #d6deed;border-radius:14px;padding:13px 15px;color:#172033;background:#f8faff;outline:none}.login-form input:focus{border-color:#3762d5;box-shadow:0 0 0 3px #3762d51f}.hero-card,.upload-card,.result-card,.card-panel{border:1px solid rgba(111,127,155,.18);border-radius:28px;background:#ffffffe0;box-shadow:0 24px 70px #1e3a631f}.hero-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px;margin-bottom:18px}.user-session-card{display:grid;gap:12px;min-width:240px;padding:16px;border-radius:20px;background:#f8faff}.user-session-card strong,.user-session-card span{display:block}.user-session-card span{color:#65748b;font-size:.86rem;line-height:1.4}.eyebrow{margin:0 0 8px;color:#3762d5;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.02}h2{margin-bottom:12px;font-size:1.35rem}h3{margin-bottom:14px;font-size:1rem}.hero-description{max-width:780px;margin-bottom:0;color:#5f6f88;font-size:1.05rem;line-height:1.7}.hero-icon,.upload-icon{display:grid;place-items:center;flex:0 0 auto;width:82px;height:82px;border-radius:24px;color:#3762d5;background:#e9efff}.app-tabs{display:inline-flex;gap:8px;padding:8px;margin-bottom:24px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(111,127,155,.18)}.app-tabs button,.secondary-button,.ghost-button,.pattern-actions button,.document-item button,.pdf-viewer-header a{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;font-weight:800}.app-tabs button{padding:11px 14px;color:#506078;background:transparent}.app-tabs button.active{color:#244ed6;background:#e9efff}.layout-grid{display:grid;grid-template-columns:380px 1fr;gap:24px}.upload-card,.result-card,.card-panel{padding:28px}.upload-card{align-self:start}.upload-card p,.empty-state p,.patterns-header p{color:#65748b;line-height:1.6}.file-input{display:block;margin:22px 0 16px;cursor:pointer}.file-input input{display:none}.file-input span{display:block;padding:18px;border:1px dashed #9aabd0;border-radius:18px;color:#3b4a63;background:#f8faff;text-align:center;transition:border-color .2s ease,background .2s ease}.file-input:hover span{border-color:#3762d5;background:#eef3ff}.primary-button,.secondary-button{padding:14px 18px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:16px;color:#fff;background:#244ed6;cursor:pointer;font-weight:800;box-shadow:0 16px 30px #244ed638}.secondary-button,.document-item button,.pdf-viewer-header a{color:#244ed6;background:#e9efff;text-decoration:none}.ghost-button{padding:8px 10px;color:#506078;background:#f4f7fd}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.72}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box,.warning-box,.success-box{border-radius:16px;padding:14px 16px;margin-bottom:16px}.error-box{color:#8f1c1c;background:#fff0f0}.success-box{color:#14532d;background:#dcfce7}.warning-box{color:#664300;background:#fff7dc}.compact-error{margin:0;padding:10px 12px;font-size:.84rem}.box-title{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:800}.warning-box ul,.actions-section ul{margin:0;padding-left:20px}.empty-state{display:grid;place-items:center;min-height:430px;text-align:center;color:#7b8da8}.empty-state.compact{min-height:220px}.empty-state h2{margin-top:16px;color:#172033}.analysis-result{display:grid;gap:20px}.result-header,.patterns-header,.form-title-row,.pattern-item-header,.filters-row,.pdf-viewer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.patterns-header{margin-bottom:20px}.patterns-grid{display:grid;grid-template-columns:420px 1fr;gap:24px}.pattern-form{align-self:start}.pattern-form label,.filters-row label,.history-filters label{display:grid;gap:8px;color:#56657a;font-size:.9rem;font-weight:800}.pattern-form input,.pattern-form select,.pattern-form textarea,.filters-row select,.history-filters input,.history-filters select,.correction-field-item input,.correction-field-item textarea{width:100%;border:1px solid #d6deed;border-radius:14px;padding:12px 14px;color:#172033;background:#f8faff;outline:none}.pattern-form textarea,.correction-field-item textarea{resize:vertical}.pattern-form input:focus,.pattern-form select:focus,.pattern-form textarea:focus,.filters-row select:focus,.history-filters input:focus,.history-filters select:focus,.correction-field-item input:focus,.correction-field-item textarea:focus{border-color:#3762d5;box-shadow:0 0 0 3px #3762d51f}.pattern-form,.patterns-list-panel,.history-list-panel,.document-detail-panel{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkbox-stack{display:grid;gap:8px;align-content:end}.checkbox-label{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px!important;font-weight:700!important}.checkbox-label input{width:auto}.filters-row{align-items:end}.patterns-list,.documents-list{display:grid;gap:14px}.pattern-item,.document-item{padding:18px;border:1px solid #e2e8f3;border-radius:20px;background:#f8faff}.pattern-item h3,.document-item h3{margin-bottom:4px}.pattern-item p,.document-item p{margin-bottom:0;color:#65748b;font-size:.9rem}.status-pill{padding:7px 10px;border-radius:999px;color:#7f1d1d;background:#fee2e2;font-size:.78rem;font-weight:800;white-space:nowrap}.status-pill.active{color:#14532d;background:#dcfce7}.pattern-chips,.document-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.pattern-chips span,.document-meta-row span{padding:7px 10px;border-radius:999px;color:#36506f;background:#e9efff;font-size:.82rem;font-weight:700}.pattern-actions{display:flex;flex-wrap:wrap;gap:8px}.pattern-actions button{padding:9px 11px;color:#244ed6;background:#e9efff}.pattern-actions .danger-button{color:#8f1c1c;background:#fff0f0}.history-grid{display:grid;grid-template-columns:430px 1fr;gap:24px}.history-filters{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;align-items:end;gap:12px}.search-input-wrap{display:flex;align-items:center;gap:8px;border:1px solid #d6deed;border-radius:14px;padding:0 12px;background:#f8faff}.search-input-wrap input{border:0;padding-left:0;background:transparent;box-shadow:none!important}.document-item button{padding:9px 11px}.document-detail-content{display:grid;gap:20px}.pdf-review-grid{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);gap:20px;align-items:start}.pdf-viewer-panel,.analysis-side-panel{display:grid;gap:16px}.pdf-viewer-panel{position:sticky;top:16px}.pdf-viewer-header{align-items:center}.pdf-viewer-header h3{margin-bottom:0}.pdf-viewer-header a{padding:9px 11px}.pdf-viewer-panel iframe{width:100%;min-height:760px;border:1px solid #d6deed;border-radius:20px;background:#f8faff}.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-data-grid{grid-template-columns:1fr}.confidence-badge{padding:8px 12px;border-radius:999px;color:#14532d;background:#dcfce7;font-size:.85rem;font-weight:800;white-space:nowrap}.summary-box{padding:18px;border-radius:18px;color:#31415c;background:#f4f7fd;line-height:1.65;overflow-wrap:anywhere}.metric-grid,.data-grid{display:grid;gap:12px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card,.data-item{padding:16px;border-radius:16px;background:#f8faff}.metric-card span,.data-item span{display:block;margin-bottom:6px;color:#75849a;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric-card strong,.data-item strong{color:#172033;overflow-wrap:anywhere}.data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-grid.detail-data-grid{grid-template-columns:1fr}.dynamic-field-item small,.field-sub-label{display:block;margin-top:8px;color:#6b7b92;font-size:.78rem;line-height:1.4}.correction-field-item{display:grid;gap:10px;border:1px solid #e2e8f3}.original-value-box{padding:10px 12px;border-radius:12px;color:#526176;background:#eef3ff;font-size:.88rem;line-height:1.45}.correction-checkbox{color:#40516a;font-size:.9rem}.actions-section{padding:18px;border-radius:18px;background:#f8faff}@media (max-width: 1100px){.pdf-review-grid{grid-template-columns:1fr}.pdf-viewer-panel{position:static}}@media (max-width: 900px){.hero-card,.result-header,.patterns-header,.form-title-row,.pattern-item-header,.filters-row,.pdf-viewer-header,.login-brand{flex-direction:column}.layout-grid,.metric-grid,.data-grid,.patterns-grid,.form-row,.history-grid,.history-filters,.compact-metrics,.detail-data-grid{grid-template-columns:1fr}.app-tabs{display:grid;width:100%}.pdf-viewer-panel iframe{min-height:520px}}:root{font-size:15px}body{background:radial-gradient(circle at top left,rgba(55,98,213,.08),transparent 34rem),linear-gradient(180deg,#f2f6fd,#edf3fb)}.app-shell{width:min(1160px,calc(100% - 40px));padding:28px 0 42px}.hero-card{padding:30px 34px;border-radius:26px;margin-bottom:18px}h1{font-size:clamp(2.25rem,4vw,3.2rem);letter-spacing:-.045em}h2{font-size:1.18rem;letter-spacing:-.015em}h3{font-size:.96rem}p,.upload-card p,.empty-state p,.patterns-header p{font-size:.94rem}.hero-description{max-width:720px;font-size:.98rem;line-height:1.65}.user-session-card{min-width:230px;padding:15px;border-radius:18px}.app-tabs{margin-bottom:22px;border-radius:16px}.app-tabs button{padding:10px 13px;font-size:.92rem}.upload-card,.result-card,.card-panel{padding:24px;border-radius:24px}.layout-grid{grid-template-columns:360px 1fr;gap:22px}.primary-button,.secondary-button{min-height:44px;padding:11px 16px;border-radius:14px;font-size:.92rem}.file-input span{padding:16px;font-size:.92rem}.history-grid{grid-template-columns:minmax(440px,.92fr) minmax(0,1.58fr);gap:22px;align-items:start}.history-list-panel{overflow:visible}.history-filters{grid-template-columns:minmax(0,1.35fr) minmax(112px,.7fr) minmax(112px,.7fr);gap:12px;align-items:end;padding:16px;border:1px solid #e3eaf6;border-radius:20px;background:linear-gradient(180deg,#fff,#f8faff);box-shadow:inset 0 1px #ffffffe6}.history-filters .secondary-button{grid-column:1 / -1;justify-self:end;min-width:132px}.history-filters label,.pattern-form label,.filters-row label{gap:7px;font-size:.78rem;letter-spacing:.01em}.history-filters input,.history-filters select,.pattern-form input,.pattern-form select,.pattern-form textarea,.filters-row select,.correction-field-item input,.correction-field-item textarea{min-height:42px;padding:10px 12px;border-radius:13px;font-size:.9rem}.search-input-wrap{min-height:42px;padding:0 11px;border-radius:13px}.search-input-wrap input{min-height:auto;padding-top:0;padding-bottom:0}.document-item{padding:15px;border-radius:18px}.document-item h3{font-size:.96rem}.document-item p,.pattern-item p{font-size:.84rem}.empty-state.compact{min-height:260px;padding:20px}.document-detail-panel{min-height:380px}.metric-card,.data-item,.summary-box{border-radius:15px}.metric-card span,.data-item span{font-size:.72rem}.metric-card strong,.data-item strong{font-size:.94rem}@media (min-width: 1200px){.history-grid{grid-template-columns:480px 1fr}}@media (max-width: 1100px){.app-shell{width:min(100% - 28px,980px)}.hero-card{align-items:flex-start}.history-grid{grid-template-columns:1fr}.history-filters{grid-template-columns:1.4fr .8fr .8fr auto}.history-filters .secondary-button{grid-column:auto;min-width:112px}}@media (max-width: 760px){:root{font-size:14px}.app-shell{width:min(100% - 20px,680px);padding:16px 0 30px}.hero-card,.upload-card,.result-card,.card-panel,.login-card{border-radius:20px;padding:18px}.hero-card{gap:18px}h1{font-size:clamp(2rem,12vw,2.7rem);line-height:1.02}h2{font-size:1.12rem}.hero-description{font-size:.94rem}.user-session-card{width:100%;min-width:0}.app-tabs{display:grid;grid-template-columns:1fr;width:100%;gap:6px;padding:6px;margin-bottom:16px}.app-tabs button{justify-content:flex-start;width:100%;padding:11px 12px}.layout-grid,.patterns-grid,.history-grid,.pdf-review-grid{gap:16px}.history-filters{grid-template-columns:1fr;padding:14px;gap:12px}.history-filters .secondary-button{width:100%;min-width:0}.patterns-header{gap:12px}.patterns-header .secondary-button{width:100%}.empty-state{min-height:280px}.empty-state.compact{min-height:210px}.pdf-viewer-panel iframe{min-height:420px}}@media (max-width: 420px){.app-shell{width:min(100% - 14px,420px)}.hero-card,.upload-card,.result-card,.card-panel,.login-card{padding:15px}h1{font-size:2rem}.secondary-button,.primary-button,.search-input-wrap,.history-filters input,.history-filters select{width:100%}}
