@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--brand-navy: #0b2b45;--brand-deep: #123955;--brand-slate: #1d4b6d;--brand-accent: #f0a526;--surface: #ffffff;--surface-muted: #f5f7f9;--text-strong: #0f1f2e;--text: #223445;--text-muted: #5c6b78;--border: #d9e1e7;--shadow-soft: 0 12px 30px rgba(10, 26, 40, .12);--shadow-card: 0 8px 20px rgba(10, 26, 40, .08);font-family:Manrope,Segoe UI,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background-color:var(--surface-muted)}*{box-sizing:border-box}a{color:inherit;text-decoration:none}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--surface-muted)}button{font-family:inherit}.login-container{min-height:100vh;background:radial-gradient(circle at top left,#e8f0f7,#f6f8fa 55%,#fff);display:flex;align-items:center;justify-content:center;padding:2rem}.login-panel{width:min(100%,980px);display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:stretch}.login-brand{background:linear-gradient(150deg,var(--brand-navy),var(--brand-deep));color:#fff;border-radius:24px;padding:2.5rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;justify-content:center;gap:1rem}.login-logo{height:52px;width:auto;background:#fff;border-radius:10px;padding:.35rem .5rem;align-self:flex-start}.login-brand h1{margin:0;font-size:2rem;letter-spacing:.02em}.login-brand p{margin:0;color:#fffc;font-size:1rem;max-width:360px}.login-badge{align-self:flex-start;padding:.4rem .9rem;background:#ffffff2e;border-radius:999px;font-weight:600;letter-spacing:.04em;font-size:.85rem}.login-card{background:#fff;border-radius:24px;padding:2.5rem;width:100%;box-shadow:var(--shadow-card);border:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:1.6rem;margin:0 0 .35rem;color:var(--text-strong)}.login-subtitle{margin:0 0 1.75rem;color:var(--text-muted)}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-strong);font-weight:600}.form-group input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:10px;font-size:1rem;box-sizing:border-box;background:#fff;color:var(--text)}.form-group input:focus{outline:none;border-color:var(--brand-slate);box-shadow:0 0 0 3px #1d4b6d26}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.radio-group{display:flex;gap:1.5rem;margin-top:.5rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.radio-label input[type=radio]{width:auto;margin:0;cursor:pointer}.radio-label span{color:var(--text);-webkit-user-select:none;user-select:none}.radio-label input[type=radio]:checked+span{color:var(--brand-navy);font-weight:600}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem}.login-button{width:100%;padding:.8rem;background-color:var(--brand-accent);color:#1a1a1a;border:none;border-radius:999px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #f0a52659}.login-button:disabled{background-color:#ccc;cursor:not-allowed}.login-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);text-align:left}.login-footer p{color:var(--text-muted);font-size:.875rem;margin:0}@media(max-width:960px){.login-panel{grid-template-columns:1fr}.login-brand{padding:2rem}}.overview-toolbar{display:flex;align-items:center;gap:.85rem;padding:.85rem;background:#fff;border:1px solid #d7e0e7;border-radius:8px;box-shadow:0 8px 22px #1727350f}.toolbar-search{flex:1;position:relative;min-width:260px}.search-input{width:100%;min-height:42px;padding:0 .9rem;border:1px solid #b9c8d3;border-radius:6px;background:#f8fafb;color:#172735;font-size:.95rem;font-weight:650}.search-input:focus{outline:3px solid rgba(18,88,120,.14);border-color:#125878;background:#fff}.search-hint{position:absolute;top:calc(100% + 4px);left:.25rem;font-size:.76rem;color:#8a5200;font-weight:750}.toolbar-filters{display:flex;align-items:center;gap:1rem}.checkbox-option{display:inline-flex;align-items:center;gap:.5rem;min-height:42px;padding:0 .75rem;border:1px solid #d7e0e7;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#334454;font-weight:750;white-space:nowrap}.checkbox-option input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0b5b4d}.toolbar-actions{margin-left:auto}.refresh-button{width:42px;height:42px;border:1px solid #b9c8d3;background:#fff;border-radius:6px;cursor:pointer;color:#172735;font-size:1.2rem;font-weight:900}.refresh-button:hover:not(:disabled){background:#edf4f7;border-color:#8fb0c3}.refresh-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.overview-toolbar{flex-wrap:wrap}.toolbar-search{min-width:100%}}.voting-tooltip-container{position:relative;display:inline-block}.voting-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:20px;padding:0 .35rem;border-radius:999px;cursor:help;font-size:.68rem;font-weight:900;line-height:1;margin-left:4px;vertical-align:middle;border:1px solid #d1d5db;background:#f8fafc;color:#475569}.voting-indicator--ok{border-color:#86efac;background:#dcfce7;color:#166534}.voting-indicator--manual{border-color:#fcd34d;background:#fef3c7;color:#92400e;text-transform:uppercase}.voting-indicator--warn{border-color:#fca5a5;background:#fee2e2;color:#991b1b}.voting-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:12px;min-width:320px;z-index:1000;margin-bottom:8px}.tooltip-header{font-weight:700;font-size:.95rem;padding-bottom:8px;border-bottom:1px solid #e5e5e5;margin-bottom:8px}.tooltip-content{display:flex;flex-direction:column;gap:6px}.engine-vote{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:.9rem}.engine-vote strong{flex:0 0 110px;color:#666}.vote-value{flex:1;text-align:right;font-family:monospace;color:#333}.engine-vote.winning{margin-top:8px;padding-top:8px;border-top:1px solid #e5e5e5;font-weight:700}.engine-vote.winning strong{color:#333}.engine-vote.winning .vote-value{color:#06c}.tooltip-footer{margin-top:8px;padding-top:8px;border-top:1px solid #e5e5e5;font-size:.85rem;color:#666;text-align:center}.field-cell{position:relative;overflow:hidden;cursor:pointer}.field-cell--green{background:#edf8f0;box-shadow:inset 3px 0 #21834f}.field-cell--orange{background:#fff8e5;box-shadow:inset 3px 0 #d88913}.field-cell--red{background:#fff0ec;box-shadow:inset 3px 0 #c2410c}.field-value-container{display:flex;align-items:center;gap:.4rem;min-width:0}.field-value{flex:1;min-width:0;color:#142331;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-edit-input{width:100%;min-height:34px;padding:.4rem .5rem;border:1px solid #7aa6c2;border-radius:5px;background:#fff;color:#142331;font-size:.82rem}.field-edit-input:focus{outline:2px solid rgba(18,88,120,.18);border-color:#125878}.pdf-dropdown-container{position:relative;display:inline-block}.pdf-dropdown-button,.action-button,.accept-button,.archive-button,.process-button{min-height:30px;border-radius:5px;cursor:pointer;font-size:.75rem;font-weight:850;transition:background .15s,border-color .15s,opacity .15s}.pdf-dropdown-button{padding:0 .55rem;border:1px solid #294559;background:#294559;color:#fff}.pdf-dropdown-button:hover{background:#172735}.pdf-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:280px;max-width:420px;max-height:320px;overflow-y:auto;background:#fff;border:1px solid #c8d4de;border-radius:8px;box-shadow:0 14px 34px #1727352e;z-index:30;padding:.25rem}.pdf-menu-item{display:block;width:100%;padding:.55rem .65rem;border:0;border-radius:6px;background:#fff;color:#172735;text-align:left;cursor:pointer;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-menu-item:hover{background:#edf4f7}.no-pdfs{color:#8a98a5}.td-actions{position:relative}.action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}.action-button{padding:0 .55rem;border:1px solid #c8d4de;background:#fff;color:#213444}.detail-button:hover,.edit-button:hover{background:#edf4f7;border-color:#8fb0c3}.save-button{border-color:#0b5b4d;color:#0b5b4d}.cancel-button{border-color:#c2410c;color:#9a3412}.accept-button{padding:0 .65rem;border:1px solid #21834f;background:#e7f7ed;color:#14532d}.archive-button{padding:0 .65rem;border:1px solid #64748b;background:#f1f5f9;color:#334155}.process-button{padding:0 .65rem;border:1px solid #1d4f91;background:#eaf2ff;color:#1d4f91}.accept-button:hover:not(:disabled){background:#d5f0df}.archive-button:hover:not(:disabled){background:#e2e8f0}.process-button:hover:not(:disabled){background:#dbeafe}.action-button:disabled,.accept-button:disabled,.archive-button:disabled,.process-button:disabled{opacity:.42;cursor:not-allowed}.details-row td{padding:0;background:#f8fafb}.details-panel{padding:1rem;border-bottom:1px solid #d7e0e7}.details-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem;color:#172735}.details-panel-head div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.details-panel-head span{color:#637383;font-size:.78rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:.65rem;align-items:start}.detail-field{display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:start;gap:.45rem;min-height:42px;padding:.45rem .55rem;border:1px solid #d7e0e7;border-radius:6px;background:#fff}.detail-field[data-field=Anschlussadresse],.detail-field[data-field=Auftraggeber],.detail-field[data-field=Dienstleister]{grid-column:span 2}.detail-field--1{background:#edf8f0;border-color:#bfe5cc;border-left:4px solid #21834f}.detail-field--1 .address-part{background:#f6fcf8;border-color:#bfe5cc}.detail-field--0{background:#fff8e5;border-color:#efd391;border-left:4px solid #d88913}.detail-field---1{background:#fff0ec;border-color:#f2c0ae;border-left:4px solid #c2410c}.detail-field-label{color:#637383;font-size:.72rem;font-weight:800;padding-top:.12rem}.detail-field-value{min-width:0;color:#142331;font-weight:650;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.35}.detail-field-content{min-width:0;display:flex;flex-direction:column;gap:.45rem}.address-split{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(70px,.45fr) minmax(82px,.45fr) minmax(150px,1fr);gap:.35rem}.address-part{min-width:0;padding:.35rem .45rem;border:1px solid #c9d7e2;border-radius:6px;background:#f8fbfd}.address-part small,.address-part strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-part small{color:#637383;font-size:.64rem;font-weight:800;text-transform:uppercase}.address-part strong{color:#172735;font-size:.76rem;font-weight:850}.popup-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0f1f2e70}.popup-content{width:min(520px,calc(100vw - 32px));background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 22px 50px #17273547}.popup-header{color:#9a3412;font-size:1.05rem;font-weight:900;margin-bottom:.6rem}.popup-body{color:#334454;margin-bottom:1rem}.popup-close{min-height:34px;padding:0 .85rem;border:0;border-radius:6px;background:#294559;color:#fff;cursor:pointer;font-weight:800}.row-error{position:absolute;right:.65rem;top:calc(100% - 4px);z-index:20;max-width:320px;padding:.45rem .6rem;background:#fff5f2;border:1px solid #f3b9a8;border-radius:6px;color:#9a3412;font-size:.76rem;box-shadow:0 8px 20px #1727351f}@media(max-width:980px){.detail-field[data-field=Anschlussadresse],.detail-field[data-field=Auftraggeber],.detail-field[data-field=Dienstleister]{grid-column:span 1}.address-split{grid-template-columns:repeat(2,minmax(0,1fr))}}.overview-table-wrapper{flex:1;min-height:0;overflow:auto;background:#fff;border:1px solid #d7e0e7;border-radius:8px;box-shadow:0 14px 32px #17273514}.overview-table-actions{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:#f8fafb;border-bottom:1px solid #d7e0e7}.overview-table-actions-copy{display:flex;align-items:baseline;gap:.55rem;color:#213444;font-size:.88rem}.overview-table-actions-copy span{color:#627282}.btn-send-all{min-height:36px;padding:0 .95rem;background:#0b5b4d;color:#fff;border:1px solid #0b5b4d;border-radius:6px;font-size:.84rem;cursor:pointer;font-weight:800}.btn-send-all:hover:not(:disabled){background:#08483d}.btn-send-all:disabled{opacity:.45;cursor:not-allowed}.overview-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.82rem}.overview-table thead{position:sticky;top:57px;z-index:11;background:#172735;color:#fff}.overview-table th{padding:.72rem .65rem;text-align:left;font-weight:800;line-height:1.15;border-bottom:1px solid #0e1c27}.overview-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.overview-table th.sortable:hover{background:#213747}.overview-table td{padding:.58rem .65rem;vertical-align:middle;border-bottom:1px solid #e6ebef}.overview-table tbody tr:not(.details-row):hover{background:#f7fbfc}.overview-table tbody tr.editing,.overview-table tbody tr.row-expanded{background:#fbfcf4}.th-created,.td-created{width:96px;color:#5d6a75;font-size:.76rem}.th-status,.td-status{width:132px}.td-status-red{background:#fff0ec}.th-pdfs,.td-pdfs{width:84px;text-align:center}.th-actions,.td-actions{width:260px}.field-column,.field-cell{min-width:110px}.field-column[data-field=Anschlussadresse],.field-cell[data-field=Anschlussadresse]{width:22%}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 .5rem;border-radius:999px;font-size:.68rem;font-weight:900;text-transform:uppercase;white-space:nowrap}.status-open{background:#fff3cf;color:#8a5200}.status-checked{background:#d7f2df;color:#14532d}.status-processed{background:#dbeafe;color:#1d4f91}.status-pending{background:#f1f5f9;color:#475569}@media(max-width:1280px){.overview-table,.overview-table-actions{min-width:1180px}}.status-red{background:#fee2e2;color:#991b1b}.row-has-red{border-left:4px solid #dc2626}.row-has-red td:first-child{padding-left:calc(.75rem - 4px)}.status-red-fields{display:block;flex:1;min-width:0;max-width:118px;color:#991b1b;font-size:.68rem;font-weight:800;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-has-red td:first-child{box-shadow:inset 4px 0 #dc2626}.status-meta-line{display:flex;align-items:center;gap:.28rem;max-width:118px;margin-top:.28rem;min-height:16px}.status-scan-badge{display:inline-flex;align-items:center;min-height:16px;padding:0 .28rem;border-radius:4px;background:#e0f2fe;color:#075985;font-size:.62rem;font-weight:900;text-transform:uppercase;line-height:1}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.pagination-info{font-size:.9rem;color:#666}.pagination-buttons{display:flex;gap:.25rem}.pagination-button{min-width:36px;height:36px;padding:.5rem;border:1px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-button:hover:not(:disabled):not(.active){background-color:#f8f9fa;border-color:#3498db}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-button.active{background-color:#3498db;color:#fff;border-color:#3498db;font-weight:600}.pagination-ellipsis{display:flex;align-items:center;padding:0 .5rem;color:#999;-webkit-user-select:none;user-select:none}@media(max-width:768px){.pagination-controls{flex-direction:column;gap:1rem}.pagination-info{text-align:center}}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}.pdf-overlay-backdrop{position:fixed;inset:0;z-index:3000;display:flex;justify-content:flex-end;background:#0f1f2e85}.pdf-panel-root{display:flex;flex:1;min-height:0}.pdf-overlay-panel{width:min(78vw,1120px);min-width:520px;height:100vh;background:#f3f6f8;box-shadow:-18px 0 40px #0f1f2e3d;display:flex;flex-direction:column}.pdf-panel{width:100%;height:100%;background:#f3f6f8;display:flex;flex-direction:column}.pdf-overlay-header{display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:0 1rem 0 1.2rem;border-bottom:1px solid #d6e0e7;background:#fff}.pdf-overlay-header h3{margin:0;font-size:.98rem;color:#172735;font-weight:900}.pdf-overlay-close{width:34px;height:34px;border:1px solid #c8d4de;border-radius:6px;background:#fff;color:#5a6a78;cursor:pointer;font-size:1.1rem;font-weight:800}.pdf-overlay-close:hover{border-color:#c2410c;color:#9a3412}.pdf-overlay-controls{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:54px;padding:.55rem 1rem;border-bottom:1px solid #d6e0e7;background:#fbfcfd}.pdf-control-divider{width:1px;height:26px;margin:0 .25rem;background:#c8d4de}.pdf-nav-button{min-width:34px;height:32px;padding:0 .6rem;border:1px solid #c8d4de;background:#fff;border-radius:6px;cursor:pointer;color:#172735;font-weight:850}.pdf-nav-button:hover:not(:disabled){background:#edf4f7;border-color:#8fb0c3}.pdf-nav-button:disabled{opacity:.38;cursor:not-allowed}.pdf-page-counter{min-width:104px;text-align:center;color:#4d5f6e;font-size:.84rem;font-weight:800}.pdf-zoom-counter{min-width:54px}.pdf-overlay-content{flex:1;min-height:0;overflow:auto;padding:1.25rem;background:linear-gradient(90deg,rgba(30,52,70,.05) 1px,transparent 1px),linear-gradient(rgba(30,52,70,.05) 1px,transparent 1px),#e9eef2;background-size:24px 24px;display:flex;justify-content:center;align-items:flex-start}.pdf-loading,.pdf-error{display:flex;justify-content:center;align-items:center;min-height:240px;color:#51606d;font-weight:750}.pdf-error{color:#9a3412}.pdf-overlay-content .react-pdf__Document{display:flex;flex-direction:column;align-items:center}.pdf-overlay-content .react-pdf__Page{margin-bottom:1rem;background:#fff;box-shadow:0 12px 34px #0f1f2e2e}.pdf-overlay-content .react-pdf__Page__canvas{max-width:none;height:auto!important}.pdf-overlay-content .react-pdf__Page__textContent{position:absolute;inset:0}@media(max-width:760px){.pdf-overlay-panel{width:100vw;min-width:0}}.overview-container{display:flex;flex-direction:column;min-height:calc(100vh - 112px);background:#eef2f5}.overview-content{flex:1;display:flex;flex-direction:column;gap:.9rem;min-height:0}.error-banner{padding:.85rem 1rem;background:#fff5f2;border:1px solid #f3b9a8;border-left:4px solid #c2410c;border-radius:6px;color:#7c2d12;font-weight:600}.batch-progress-panel{padding:1rem 1.15rem;background:#fff;border:1px solid #c8d7e6;border-radius:8px;box-shadow:0 10px 24px #0f172a0f}.batch-progress-header,.batch-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.batch-progress-header strong{display:block;color:#102638;font-size:.98rem}.batch-progress-header span{color:#607386;font-size:.86rem}.batch-progress-count{flex:0 0 auto;padding:.28rem .58rem;border-radius:999px;background:#e8f1ff;color:#0f4b91!important;font-weight:800}.batch-progress-bar{height:.6rem;margin-top:.75rem;overflow:hidden;border-radius:999px;background:#dce6ef}.batch-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f5f8c,#17855f);transition:width .18s ease}.batch-progress-meta{margin-top:.55rem;color:#4b5f72;font-size:.84rem;font-weight:700}.batch-progress-log{display:grid;gap:.3rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid #e0e8ef;color:#23384a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.overview-loading,.overview-empty{display:flex;justify-content:center;align-items:center;min-height:320px;padding:2rem;color:#51606d;background:#fff;border:1px solid #d8e0e6;border-radius:8px}.dashboard-container{padding:2rem;background:#f5f7fa;min-height:calc(100vh - 60px)}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.dashboard-error p{color:#ef4444;font-size:1.125rem}.btn-retry{padding:.75rem 1.5rem;background:#0b2b45;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-retry:hover{background:#1a4d6b}.spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#0b2b45;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h1{font-size:2rem;font-weight:700;color:#0b2b45;margin:0}.dashboard-controls{display:flex;align-items:center;gap:1rem}.last-updated{font-size:.875rem;color:#666}.time-filter{display:flex;gap:.5rem;background:#fff;padding:.25rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.time-filter-btn{padding:.5rem 1rem;background:transparent;color:#666;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.time-filter-btn:hover{background:#f5f7fa;color:#0b2b45}.time-filter-btn.active{background:#0b2b45;color:#fff}.btn-refresh{padding:.5rem 1rem;background:#fff;color:#0b2b45;border:1px solid #e0e0e0;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-refresh:hover:not(:disabled){background:#f5f7fa;border-color:#0b2b45}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.btn-send-report{padding:.5rem 1rem;background:#0b2b45;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-send-report:hover:not(:disabled){background:#1a4d6b}.btn-send-report:disabled{opacity:.6;cursor:not-allowed}.report-message{font-size:.875rem;font-weight:500;padding:.25rem .75rem;border-radius:6px}.report-message.success{color:#10b981;background:#f0fdf4}.report-message.error{color:#ef4444;background:#fef2f2}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.metric-card{background:linear-gradient(135deg,#0b2b45,#1a4d6b);color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.metric-card-title{font-size:.875rem;font-weight:500;opacity:.9;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.metric-card-value{font-size:2.5rem;font-weight:700;margin:.5rem 0;display:flex;align-items:baseline;gap:.25rem}.metric-card-unit{font-size:1.5rem;font-weight:600;opacity:.8}.chart-container{grid-column:1 / -1;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.dual-axis-chart{width:100%}.widget-title{font-size:1.125rem;font-weight:600;color:#0b2b45;margin:0 0 1.5rem}.chart-empty{display:flex;align-items:center;justify-content:center;min-height:400px;color:#666;font-size:1rem}.container-health{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.container-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.container-status{padding:.75rem;border-radius:8px;border:2px solid;display:flex;flex-direction:column;gap:.5rem}.container-status.healthy{border-color:#10b981;background:#f0fdf4}.container-status.unhealthy{border-color:#ef4444;background:#fef2f2}.container-status.degraded{border-color:#f59e0b;background:#fffbeb}.container-status.running{border-color:#3b82f6;background:#eff6ff}.container-name{font-size:.875rem;font-weight:600;color:#0b2b45}.container-status-badge{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.container-status.healthy .container-status-badge{color:#10b981}.container-status.unhealthy .container-status-badge{color:#ef4444}.container-status.degraded .container-status-badge{color:#f59e0b}.container-status.running .container-status-badge{color:#3b82f6}.stats-widget{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-item{padding:1rem;background:#f5f7fa;border-radius:8px}.stat-label{font-size:.75rem;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stat-value{font-size:1.5rem;font-weight:700;color:#0b2b45}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.chart-container{grid-column:1}.container-health-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dashboard-container{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-controls{flex-direction:column;width:100%}.time-filter{width:100%}.time-filter-btn{flex:1}.container-health-grid,.stats-grid{grid-template-columns:1fr}}.review-container{padding:2rem;max-width:1200px;margin:0 auto}.review-header{margin-bottom:2rem}.review-header h1{font-size:2rem;margin-bottom:.5rem}.review-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.placeholder-message{text-align:center;color:var(--text-secondary)}.placeholder-message h2{margin-bottom:1rem}.placeholder-message ul{list-style:none;padding:0;margin:1rem 0}.placeholder-message li{padding:.5rem 0}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.user-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001a;border-radius:4px;overflow:hidden}.user-create-panel{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014}.user-create-panel h2{margin:0 0 1rem;color:#212529;font-size:1.15rem}.user-create-form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:1rem;align-items:end}.role-controls{display:flex;gap:1rem;align-items:center;min-height:38px}.create-actions{display:flex;align-items:center}.user-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.user-table th{padding:12px 16px;text-align:left;font-weight:600;color:#495057;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.user-table td{padding:12px 16px;border-top:1px solid #dee2e6;color:#212529}.user-table tbody tr:hover{background:#f8f9fa}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.master{background:#ffc107;color:#000}.role-badge.admin{background:#007bff;color:#fff}.role-badge.standard{background:#6c757d;color:#fff}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-small{padding:4px 12px;font-size:.875rem;border:1px solid #dee2e6;background:#fff;color:#495057;border-radius:4px;cursor:pointer;transition:all .2s}.btn-small:hover{background:#f8f9fa;border-color:#adb5bd}.btn-small.btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.btn-small.btn-danger:hover{background:#c82333;border-color:#bd2130}.modal-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h2{margin-top:0;margin-bottom:1.5rem;color:#212529}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#495057;font-size:.875rem}.form-group input[type=text],.form-group input[type=password],.form-group input[type=email]{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;transition:border-color .2s}.form-group input[type=text]:focus,.form-group input[type=password]:focus,.form-group input[type=email]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}@media(max-width:1100px){.user-create-form{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:640px){.user-create-form{grid-template-columns:1fr}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #dee2e6}.btn-primary,.btn-secondary,.btn-danger{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.875rem}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.warning-text{color:#dc3545;font-weight:500;margin-top:1rem}.admin-subpage.error{color:#dc3545;padding:2rem;text-align:center}.warning-banner{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:1rem;border-radius:4px;margin-bottom:2rem}.settings-section{margin-bottom:3rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.settings-section h2{margin-top:0;margin-bottom:1rem;color:#212529;font-size:1.25rem;border-bottom:2px solid #dee2e6;padding-bottom:.5rem}.settings-table{width:100%;border-collapse:collapse}.settings-table th{text-align:left;padding:12px;background:#f8f9fa;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.settings-table td{padding:12px;border-bottom:1px solid #dee2e6}.setting-input{width:100%;padding:6px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.setting-input:focus{outline:none;border-color:#007bff}.description-cell{color:#6c757d;font-size:.875rem}.type-badge{display:inline-block;padding:4px 8px;background:#e9ecef;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.restart-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#ffc107;color:#000;border-radius:4px;font-size:.75rem;font-weight:600}.recipients-list{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}.recipient-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8f9fa;border-radius:4px}.recipient-email{font-family:monospace;font-size:.875rem}.recipient-email.inactive{color:#6c757d;text-decoration:line-through}.add-recipient-form{display:flex;gap:12px}.add-recipient-form input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.test-email-form .form-group{margin-bottom:1rem}.test-email-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#495057}.test-email-form input,.test-email-form textarea{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;font-family:inherit}.test-email-form textarea{resize:vertical}.log-controls{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-weight:600;color:#495057;white-space:nowrap}.control-group select,.control-group input{padding:6px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.search-group{flex:1;min-width:250px}.search-group input{flex:1;width:100%}.log-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto;margin-bottom:1rem}.log-table{width:100%;border-collapse:collapse}.log-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.log-table th{padding:12px;text-align:left;font-weight:600;color:#495057;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.log-table td{padding:12px;border-bottom:1px solid #dee2e6;font-size:.875rem}.time-cell{font-family:monospace;color:#6c757d;white-space:nowrap}.module-cell{font-family:monospace;color:#495057;white-space:nowrap}.message-cell{font-family:monospace;color:#212529;word-break:break-word}.level-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:600;font-size:.75rem;text-transform:uppercase;white-space:nowrap}.level-badge.red{background:#dc3545;color:#fff}.level-badge.yellow{background:#ffc107;color:#000}.level-badge.blue{background:#007bff;color:#fff}.level-badge.gray{background:#6c757d;color:#fff}.log-type-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:600;font-size:.75rem;text-transform:uppercase;white-space:nowrap}.log-type-badge.log-type-ocr{background:#3b82f6;color:#fff}.log-type-badge.log-type-database{background:#10b981;color:#fff}.log-type-badge.log-type-auth{background:#f59e0b;color:#fff}.log-type-badge.log-type-general{background:#6b7280;color:#fff}.exception-details{margin-top:.5rem;cursor:pointer}.exception-details summary{color:#dc3545;font-weight:600;margin-bottom:.5rem}.exception-details pre{background:#f8f9fa;padding:.5rem;border-radius:4px;font-size:.75rem;overflow-x:auto;max-height:300px}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.page-info{font-weight:600;color:#495057}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;padding:2rem;color:#6c757d}.empty-state{text-align:center;padding:3rem 2rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.empty-message{font-size:1.25rem;font-weight:600;color:#495057;margin-bottom:1rem}.empty-hint{font-size:.875rem;color:#6c757d;margin:0}.master-admin-container{padding:2rem;max-width:1400px;margin:0 auto}.master-admin-container h1{margin-bottom:2rem;color:#d32f2f;font-size:2rem}.master-anchor-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:-.5rem 0 1.5rem}.master-anchor-nav a{padding:.5rem .75rem;border:1px solid #d0d7de;border-radius:4px;color:#1f2937;text-decoration:none;background:#fff;font-weight:600}.master-anchor-nav a:hover{background:#f3f4f6}.admin-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.admin-section h2{margin-top:0;margin-bottom:1rem;color:#333;font-size:1.5rem}.section-description{color:#666;margin-bottom:1.5rem;padding:.75rem;background:#fff3cd;border-left:4px solid #ff9800;border-radius:4px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-actions{display:flex;align-items:center;gap:.5rem}.mail-settings-table{width:100%;border-collapse:collapse;margin-top:1rem}.mail-settings-table th,.mail-settings-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0;vertical-align:top}.mail-settings-table th{background:#f5f5f5;color:#333;font-weight:600}.mail-setting-input{width:100%;min-width:220px;padding:.625rem;border:1px solid #d0d7de;border-radius:4px;font:inherit}.setting-type{display:block;margin-top:.25rem;color:#666;font-size:.8rem}.test-email-form{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.test-email-form h3{margin:0 0 1rem;color:#333}.recipients-admin{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.recipients-admin h3{margin:0 0 1rem;color:#333}.recipients-list{display:grid;gap:.5rem}.recipient-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid #e0e0e0;border-radius:4px;background:#fafafa}.recipient-inactive{color:#888;text-decoration:line-through}.recipient-actions{display:flex;gap:.5rem}.add-recipient-form{display:flex;gap:.75rem;margin-top:1rem}.add-recipient-form input{flex:1;padding:.625rem;border:1px solid #d0d7de;border-radius:4px;font:inherit}.btn-small{padding:.4rem .7rem;border:1px solid #d0d7de;background:#fff;color:#333;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-small:hover{background:#f5f5f5}.btn-small.btn-danger{background:#d32f2f;border-color:#d32f2f;color:#fff}.test-email-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{color:#555;font-size:.875rem;font-weight:600}.form-group input,.form-group textarea{padding:.625rem;border:1px solid #d0d7de;border-radius:4px;font:inherit}.script-buttons{display:flex;gap:1rem;margin-bottom:2rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s;font-weight:500}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-warning{background:#ff9800;color:#fff}.btn-warning:hover:not(:disabled){background:#f57c00}.btn-danger{background:#d32f2f;color:#fff}.btn-danger:hover:not(:disabled){background:#b71c1c}.btn-secondary{background:#757575;color:#fff}.btn-secondary:hover:not(:disabled){background:#616161}.backups-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.backups-section h3{margin-bottom:1rem;color:#555;font-size:1.2rem}.backups-table{width:100%;border-collapse:collapse;margin-top:1rem}.backups-table thead{background:#f5f5f5}.backups-table th,.backups-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0}.backups-table th{font-weight:600;color:#333}.backups-table code{background:#f5f5f5;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9rem}.db-actions{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.db-action-card{padding:1.5rem;background:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0}.db-action-card h3{margin:0 0 .5rem;color:#333;font-size:1.1rem}.db-action-card p{color:#666;font-size:.9rem;margin:0 0 1rem}.btn-file{display:inline-block;cursor:pointer}.btn-file.disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:#1976d2;cursor:pointer;font-size:.875rem;padding:.25rem .5rem;text-decoration:underline}.btn-link:hover{color:#0d47a1}.logs-split-view{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}.logs-panel h3{margin:0 0 .75rem;color:#555;font-size:1.1rem;font-weight:600}.logs-container{background:#1e1e1e;border-radius:4px;padding:1rem;max-height:500px;overflow-y:auto}.logs-content{margin:0;color:#d4d4d4;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.loading-message{color:#999;text-align:center;padding:2rem;font-style:italic}.empty-message{color:#999;text-align:center;padding:1rem;font-style:italic}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;box-shadow:0 4px 6px #0000001a}.modal-content h3{margin-top:0;color:#d32f2f;display:flex;align-items:center;gap:.5rem}.warning-text{color:#d32f2f;background:#ffebee;padding:1rem;border-radius:4px;margin:1rem 0}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.error-banner{background:#ffebee;color:#d32f2f;padding:1rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #d32f2f}.success-banner{background:#e8f5e9;color:#2e7d32;padding:1rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #4caf50;white-space:pre-wrap}.btn-primary{background:#1976d2;color:#fff;align-self:flex-start}.btn-primary:hover:not(:disabled){background:#1565c0}.inline-test-result,.smb-test-result{margin:.75rem 0 1rem;padding:.75rem 1rem;border-radius:4px;font-weight:600;line-height:1.4}.inline-test-result--ok,.smb-test-result--ok{background:#e8f5e9;border:1px solid #81c784;color:#1b5e20}.inline-test-result--error,.smb-test-result--error{background:#ffebee;border:1px solid #ef9a9a;color:#b71c1c}.documentation-wrapper{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden}.documentation-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:linear-gradient(150deg,var(--brand-navy),var(--brand-deep));color:#fff;box-shadow:0 2px 8px #0000001a}.documentation-title{display:flex;align-items:center;gap:1.5rem}.documentation-title h1{margin:0;font-size:1.5rem;font-weight:600}.documentation-user{font-size:.9rem;opacity:.8}.documentation-logout{padding:.5rem 1.5rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.documentation-logout:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.documentation-container{width:100%;flex:1;overflow:hidden;position:relative}.documentation-frame{width:100%;height:100%;border:none;display:block;background:#fff}@media(prefers-color-scheme:dark){.documentation-frame{background:#1a1a1a}}.p2a-page{display:flex;flex-direction:column;gap:1.25rem;height:100%;max-width:1400px;margin:0 auto}.p2a-header{padding-bottom:.5rem;border-bottom:1px solid var(--border, #e5e7eb)}.p2a-title{font-size:1.35rem;font-weight:700;color:var(--text, #111827);margin:0 0 .25rem}.p2a-subtitle{font-size:.875rem;color:var(--text-muted, #6b7280);margin:0}.p2a-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.p2a-col-header{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #6b7280);margin:0 0 .75rem;padding-bottom:.4rem;border-bottom:2px solid var(--border, #e5e7eb)}.p2a-left{background:#f3f4f6;border:1px solid #d1d5db;border-radius:12px;padding:1rem}.p2a-db-pool{display:flex;flex-direction:column;gap:.4rem}.p2a-db-card{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;cursor:grab;-webkit-user-select:none;user-select:none;font-size:.875rem;font-weight:500;color:#111827;transition:border-color .15s,box-shadow .15s,opacity .15s}.p2a-db-card:hover{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.p2a-db-card:active,.p2a-db-card--dragging{cursor:grabbing;opacity:.55;box-shadow:0 4px 12px #0000001f}.p2a-db-card--used{opacity:.55;border-style:dashed}.p2a-db-card--used:hover{opacity:.85}.p2a-db-card-name{flex:1}.p2a-db-card-badge{font-size:.7rem;color:#16a34a;font-weight:700;margin-left:.5rem}.p2a-pool-hint{margin:.75rem 0 0;font-size:.75rem;color:#9ca3af;line-height:1.4}.p2a-snippets-section{margin-top:1.25rem;padding-top:1rem;border-top:2px solid #e5e7eb}.p2a-snippets-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.p2a-col-header--snippets{margin:0;border-bottom:none;padding-bottom:0}.p2a-btn-add{padding:.3rem .75rem;font-size:.775rem;font-weight:700;background:#f0fdf4;color:#15803d;border:1.5px solid #86efac;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.p2a-btn-add:hover{background:#dcfce7;border-color:#4ade80}.p2a-snippet-form{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;padding:.75rem}.p2a-snippet-input{padding:.45rem .6rem;font-size:.85rem;border:1.5px solid #d1d5db;border-radius:6px;outline:none;transition:border-color .15s}.p2a-snippet-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.p2a-btn-save-snippet{padding:.4rem .8rem;font-size:.825rem;font-weight:700;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s;align-self:flex-end}.p2a-btn-save-snippet:hover:not(:disabled){background:#1d4ed8}.p2a-btn-save-snippet:disabled{opacity:.45;cursor:not-allowed}.p2a-db-card--snippet{border-color:#86efac;background:#f0fdf4}.p2a-db-card--snippet:hover{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.p2a-db-card--separator{border-color:#d1d5db;background:#f9fafb;justify-content:center;gap:.4rem;font-size:1.1rem;font-weight:700;color:#6b7280;letter-spacing:.05em}.p2a-db-card--separator:hover{border-color:#6b7280;background:#f3f4f6;box-shadow:0 0 0 3px #6b72801a}.p2a-snippets-section--sep{margin-bottom:.25rem}.p2a-db-card-snippet-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.p2a-db-card-snippet-value{font-size:.7rem;color:#6b7280;font-family:Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p2a-snippet-delete{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:#9ca3af;cursor:pointer;font-size:1.1rem;line-height:1;padding:0;margin-left:.35rem;width:20px;height:20px;border-radius:50%;flex-shrink:0;transition:background .15s,color .15s}.p2a-snippet-delete:hover{background:#fee2e2;color:#dc2626}.p2a-tag--snippet{background:#16a34a}.p2a-tag--separator{background:#6b7280;font-weight:700;letter-spacing:.05em;padding:.2rem .5rem}.p2a-tag-snippet-icon{display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:900;background:#ffffff40;border-radius:3px;width:13px;height:13px;margin-right:.1rem;line-height:1}.p2a-right{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.p2a-api-list{display:flex;flex-direction:column;gap:.5rem}.p2a-api-row{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1.5px solid #e5e7eb;border-radius:8px;transition:border-color .15s,box-shadow .15s,background .15s;min-height:48px}.p2a-api-row--over{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e;background:#eff6ff}.p2a-api-row-label{display:flex;flex-direction:column;gap:.1rem}.p2a-api-label{font-size:.875rem;font-weight:600;color:#111827;line-height:1.2}.p2a-api-key{font-size:.7rem;color:#9ca3af;font-family:Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p2a-api-drop-zone{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:28px;padding:.25rem 0}.p2a-drop-placeholder{font-size:.8rem;color:#9ca3af;font-style:italic;padding:.15rem 0}.p2a-drop-placeholder--active{color:#2563eb;font-style:normal;font-weight:500}.p2a-drop-hint{font-size:.75rem;color:#2563eb;font-weight:500;margin-left:.25rem}.p2a-tag{display:inline-flex;align-items:center;gap:.2rem;background:#2563eb;color:#fff;font-size:.775rem;font-weight:600;padding:.2rem .45rem;border-radius:999px;white-space:nowrap;line-height:1.3}.p2a-tag-remove{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:#fffc;cursor:pointer;font-size:.95rem;line-height:1;padding:0;margin:0;width:16px;height:16px;border-radius:50%;transition:background .15s,color .15s}.p2a-tag-remove:hover{background:#ffffff40;color:#fff}.p2a-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border, #e5e7eb)}.p2a-btn{padding:.55rem 1.4rem;border-radius:8px;font-size:.875rem;font-weight:700;cursor:pointer;border:none;transition:background .18s,box-shadow .18s,transform .12s}.p2a-btn:active{transform:translateY(1px)}.p2a-btn--secondary{background:#f3f4f6;color:#374151;border:1.5px solid #d1d5db}.p2a-btn--secondary:hover{background:#e5e7eb}.p2a-btn--primary{background:#2563eb;color:#fff;min-width:110px}.p2a-btn--primary:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d}.p2a-btn--saved{background:#16a34a}.p2a-btn--saved:hover{background:#15803d;box-shadow:0 4px 12px #16a34a4d}.p2a-test-panel{background:#f8faff;border:1.5px solid #dbeafe;border-radius:12px;padding:1rem 1.25rem}.p2a-col-header--test{color:#2563eb;border-bottom-color:#bfdbfe}.p2a-upload-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:.7rem;padding:.75rem;border:1px solid #d4e0ea;border-radius:8px;background:#fff}.p2a-upload-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.p2a-upload-copy strong{color:#172735;font-size:.9rem}.p2a-upload-copy span{color:#637383;font-size:.78rem;font-weight:650}.p2a-upload-input{display:none}.p2a-upload-button{white-space:nowrap}.p2a-upload-progress{grid-column:1 / -1;display:flex;flex-direction:column;gap:.35rem;padding-top:.1rem}.p2a-upload-progress-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#314659;font-size:.76rem;font-weight:800}.p2a-upload-progress-head strong{color:#125878;font-variant-numeric:tabular-nums}.p2a-upload-progress-track{position:relative;height:8px;overflow:hidden;border-radius:999px;background:#e6edf3}.p2a-upload-progress-track span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#125878,#21834f);transition:width .28s ease}.p2a-upload-progress-track span:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);animation:p2a-progress-sweep 1.4s linear infinite}@keyframes p2a-progress-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.p2a-upload-message{margin-bottom:.7rem;padding:.55rem .7rem;border-radius:7px;font-size:.8rem;font-weight:800}.p2a-upload-message--success{border:1px solid #86efac;background:#f0fdf4;color:#166534}.p2a-upload-message--pending{border:1px solid #bfdbfe;background:#eff6ff;color:#125878}.p2a-upload-message--error{border:1px solid #fecaca;background:#fff1f2;color:#9f1239}.p2a-test-search-wrap{position:relative;max-width:480px;margin-bottom:.75rem}.p2a-test-search{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1.5px solid #d1d5db;border-radius:8px;outline:none;box-sizing:border-box;transition:border-color .15s}.p2a-test-search:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.p2a-test-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;list-style:none;margin:0;padding:.25rem 0;z-index:100;max-height:220px;overflow-y:auto;box-shadow:0 4px 16px #00000014}.p2a-test-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:.45rem .75rem;cursor:pointer;font-size:.85rem;gap:.5rem;transition:background .1s}.p2a-test-dropdown-item:hover{background:#eff6ff}.p2a-test-folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p2a-test-folder-sub{font-size:.75rem;color:#6b7280;white-space:nowrap;margin-right:.35rem}.p2a-test-badge{font-size:.7rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;white-space:nowrap;flex-shrink:0}.p2a-test-badge--sent{background:#dcfce7;color:#15803d}.p2a-test-badge--ok{background:#dbeafe;color:#1d4ed8}.p2a-test-info{font-size:.85rem;color:#6b7280;margin:.5rem 0}.p2a-test-preview{margin-top:.5rem}.p2a-preview-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:.75rem;background:#f8fafc;border:1px solid #dbe4ec;border-radius:8px;color:#172735}.p2a-preview-summary div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.p2a-preview-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p2a-preview-summary span{color:#637383;font-size:.78rem;font-weight:700}.p2a-preview-kicker{text-transform:uppercase;font-size:.68rem!important;letter-spacing:.06em}.p2a-mapping-preview{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.85rem}.p2a-mapping-preview-row{display:grid;grid-template-columns:190px minmax(0,1fr) minmax(180px,.8fr);gap:.7rem;align-items:start;padding:.55rem .65rem;border:1px solid #dbe4ec;border-radius:8px;background:#fff}.p2a-mapping-preview-row--used{border-left:4px solid #15803d}.p2a-mapping-preview-row--empty{border-left:4px solid #b45309}.p2a-mapping-preview-target{display:flex;flex-direction:column;min-width:0}.p2a-mapping-preview-target strong{color:#172735;font-size:.84rem}.p2a-mapping-preview-target span{color:#64748b;font-family:Menlo,Consolas,monospace;font-size:.68rem}.p2a-mapping-preview-sources{display:flex;flex-wrap:wrap;gap:.35rem}.p2a-source-chip{display:inline-flex;align-items:center;gap:.28rem;max-width:240px;min-height:24px;padding:.18rem .45rem;border-radius:999px;font-size:.72rem;font-weight:800;border:1px solid #cbd5e1;background:#f8fafc;color:#475569}.p2a-source-chip em{min-width:0;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172735;font-style:normal;font-weight:650}.p2a-source-chip--used{border-color:#86efac;background:#f0fdf4;color:#15803d}.p2a-source-chip--unused,.p2a-source-chip--empty{border-color:#fde68a;background:#fffbeb;color:#92400e}.p2a-source-chip--snippet{border-style:dashed}.p2a-source-chip--separator{max-width:none;color:#64748b}.p2a-mapping-preview-value{min-width:0;color:#111827;font-size:.78rem;font-weight:650;display:flex;flex-direction:column;gap:.42rem}.p2a-mapping-preview-value>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p2a-address-split{display:grid;grid-template-columns:minmax(100px,1.2fr) minmax(52px,.45fr) minmax(58px,.45fr) minmax(92px,1fr);gap:.28rem}.p2a-address-split span{min-width:0;padding:.28rem .35rem;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc}.p2a-address-split small,.p2a-address-split strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p2a-address-split small{color:#64748b;font-size:.58rem;font-weight:850;text-transform:uppercase}.p2a-address-split strong{color:#172735;font-size:.7rem;font-weight:850}.p2a-test-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:.75rem}.p2a-test-table th{text-align:left;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;padding:.35rem .6rem;border-bottom:2px solid #e5e7eb}.p2a-test-table td{padding:.35rem .6rem;border-bottom:1px solid #f3f4f6;vertical-align:top}.p2a-test-key{font-family:Menlo,Consolas,monospace;font-size:.775rem;color:#374151;white-space:nowrap;width:220px}.p2a-test-val{color:#111827;word-break:break-word}.p2a-test-warn{font-size:.8rem;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;padding:.4rem .75rem;margin:.5rem 0}.p2a-test-send-row{display:flex;justify-content:flex-end;margin-top:.5rem}.p2a-test-result{margin-top:.75rem;padding:.6rem .9rem;border-radius:8px;font-size:.875rem;font-weight:500}.p2a-test-result--ok{background:#dcfce7;color:#15803d;border:1px solid #86efac}.p2a-test-result--err{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}@media(max-width:900px){.p2a-columns{grid-template-columns:1fr}.p2a-api-row{grid-template-columns:160px 1fr}.p2a-upload-panel,.p2a-mapping-preview-row{grid-template-columns:1fr}}.auto-page{max-width:1100px;margin:0 auto;padding:2rem}.auto-loading{padding:2rem;color:var(--text-muted)}.auto-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.auto-title{font-size:1.75rem;font-weight:700;color:var(--text-strong);margin:0}.auto-subtitle{color:var(--text-muted);margin:.25rem 0 0}.auto-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.auto-btn{padding:.6rem 1.2rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;transition:opacity .15s}.auto-btn:disabled{opacity:.5;cursor:not-allowed}.auto-btn--enqueue{background:var(--brand-accent);color:#fff}.auto-btn--process{background:var(--brand-navy);color:#fff}.auto-btn:not(:disabled):hover{opacity:.88}.auto-message{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-weight:500}.auto-message button{background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.6}.auto-message--success{background:#e6f4ea;color:#1a5c2a}.auto-message--error{background:#fdecea;color:#8b1a1a}.auto-section{background:#fff;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-card)}.auto-section-title{font-size:1rem;font-weight:700;color:var(--text-strong);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.04em}.auto-mode-bar{display:flex;gap:.5rem;flex-wrap:wrap}.auto-mode-btn{padding:.5rem 1.25rem;border:2px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-weight:600;cursor:pointer;transition:all .15s}.auto-mode-btn:hover:not(:disabled){border-color:var(--brand-navy);color:var(--brand-navy)}.auto-mode-btn--active{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}.auto-mode-btn:disabled{opacity:.5;cursor:not-allowed}.auto-mode-hint{margin:.75rem 0 0;color:var(--text-muted);font-size:.875rem}.auto-mode-hint--warn{color:#8b4a00;background:#fff8e6;padding:.5rem .75rem;border-radius:4px}.auto-tiles{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.auto-tile{flex:1;min-width:120px;padding:1.25rem;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:.25rem}.auto-tile-value{font-size:2rem;font-weight:700}.auto-tile-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.auto-tile--wartend{background:#f0f4ff;color:#3352a0}.auto-tile--running{background:#fff8e1;color:#8b6200}.auto-tile--success{background:#e6f4ea;color:#1a5c2a}.auto-tile--failed{background:#fdecea;color:#8b1a1a}.auto-last-processed{font-size:.8rem;color:var(--text-muted);margin:0}.auto-empty{color:var(--text-muted);font-style:italic}.auto-table{width:100%;border-collapse:collapse;font-size:.875rem}.auto-table th{text-align:left;padding:.5rem .75rem;border-bottom:2px solid var(--border);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.auto-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.auto-table tr:last-child td{border-bottom:none}.auto-td-folder{color:var(--text);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auto-td-id{font-family:monospace;font-size:.8rem;color:var(--text-muted)}.auto-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.auto-badge--wartend{background:#e8eeff;color:#3352a0}.auto-badge--running{background:#fff3cd;color:#8b6200}.auto-badge--success{background:#d4edda;color:#155724}.auto-badge--failed{background:#f8d7da;color:#721c24}.auto-filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.auto-filter-input{padding:.45rem .75rem;border:1.5px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text);background:#fff}.auto-filter-input:focus{outline:none;border-color:var(--brand-navy)}.auto-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:.875rem;color:var(--text-muted)}.auto-page-btn{padding:.3rem .7rem;border:1.5px solid var(--border);border-radius:4px;background:#fff;cursor:pointer;font-size:1rem}.auto-page-btn:disabled{opacity:.4;cursor:not-allowed}.auto-td-error{color:var(--text-muted);font-size:.8rem;max-width:200px}.as-page{display:flex;flex-direction:column;gap:1.5rem;max-width:1100px;margin:0 auto}.as-loading{padding:2rem;color:#6b7280;font-size:.9rem}.as-header{padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.as-title{font-size:1.35rem;font-weight:700;color:#111827;margin:0 0 .25rem}.as-subtitle{font-size:.875rem;color:#6b7280;margin:0}.as-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.as-error-close{background:none;border:none;color:#991b1b;cursor:pointer;font-size:1.1rem;line-height:1;padding:0;flex-shrink:0}.as-active-bar{display:flex;align-items:center;gap:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem 1.25rem}.as-active-label{font-size:.875rem;font-weight:600;color:#374151;white-space:nowrap}.as-env-toggle{display:flex;gap:.4rem}.as-env-toggle-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s}.as-env-toggle-btn--test{background:#f3f4f6;color:#374151;border-color:#d1d5db}.as-env-toggle-btn--test:hover:not(:disabled){background:#e5e7eb}.as-env-toggle-btn--test.as-env-toggle-btn--active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.as-env-toggle-btn--live{background:#f3f4f6;color:#374151;border-color:#d1d5db}.as-env-toggle-btn--live:hover:not(:disabled){background:#e5e7eb}.as-env-toggle-btn--live.as-env-toggle-btn--active{background:#f0fdf4;border-color:#86efac;color:#15803d}.as-env-toggle-btn:disabled{cursor:default}.as-active-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.7}.as-active-hint{font-size:.775rem;color:#9ca3af}.as-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.as-card{border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem;background:#fff;transition:border-color .2s,box-shadow .2s}.as-card--active{box-shadow:0 0 0 3px #16a34a1f}.as-card--test.as-card--active{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a}.as-card--live.as-card--active{border-color:#86efac;box-shadow:0 0 0 3px #16a34a1f}.as-card-header{margin-bottom:1.25rem}.as-card-title-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem}.as-card-title{font-size:1.1rem;font-weight:700;color:#111827;margin:0}.as-card-hint{font-size:.8rem;color:#6b7280;margin:0}.as-badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.as-badge--active{background:#dcfce7;color:#15803d}.as-form{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.as-label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;color:#374151}.as-input{padding:.5rem .7rem;font-size:.875rem;border:1.5px solid #d1d5db;border-radius:7px;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff;width:100%;box-sizing:border-box}.as-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.as-input--token{font-family:Menlo,Consolas,monospace;letter-spacing:.05em}.as-token-row{display:flex;align-items:center;gap:.5rem}.as-token-row .as-input{flex:1}.as-token-set-badge{font-size:.7rem;font-weight:700;color:#15803d;background:#dcfce7;border-radius:999px;padding:.15rem .5rem;white-space:nowrap;flex-shrink:0}.as-token-hint{font-size:.72rem;color:#9ca3af;font-weight:400}.as-test-result{padding:.6rem .85rem;border-radius:7px;font-size:.825rem;font-weight:500;margin-bottom:.75rem}.as-test-result--ok{background:#f0fdf4;color:#15803d;border:1px solid #86efac}.as-test-result--err{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.as-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding-top:1rem;border-top:1px solid #f3f4f6}.as-btn{padding:.5rem 1.1rem;border-radius:7px;font-size:.85rem;font-weight:700;cursor:pointer;border:none;transition:background .15s,box-shadow .15s,color .15s}.as-btn:disabled{opacity:.55;cursor:not-allowed}.as-btn--ghost{background:transparent;color:#374151;border:1.5px solid #d1d5db}.as-btn--ghost:hover:not(:disabled){background:#f3f4f6}.as-btn--primary{background:#2563eb;color:#fff;min-width:110px;text-align:center}.as-btn--primary:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb47}.as-btn--live{background:#16a34a}.as-btn--live:hover:not(:disabled){background:#15803d;box-shadow:0 4px 12px #16a34a47}.as-btn--saved{background:#16a34a!important}@media(max-width:800px){.as-cards{grid-template-columns:1fr}.as-active-bar{flex-wrap:wrap}}.admin-subpage{background:var(--surface);border-radius:16px;padding:2rem;box-shadow:var(--shadow-card);color:var(--text)}.admin-subpage h1{margin:0 0 .75rem;color:var(--text-strong);font-size:1.6rem}.admin-subpage p{margin:0;color:var(--text-muted)}.success-message,.error-banner{margin:0 0 1rem;padding:.75rem .9rem;border-radius:8px;font-weight:700}.success-message{border:1px solid #86efac;background:#f0fdf4;color:#166534}.error-banner{border:1px solid #fecaca;background:#fff1f2;color:#9f1239}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-muted)}.app-nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.5rem;background:linear-gradient(120deg,var(--brand-navy),var(--brand-slate));color:#fff;box-shadow:var(--shadow-card);position:sticky;top:0;z-index:20}.app-nav-left{display:flex;align-items:center;gap:1rem}.app-logo{height:40px;width:auto;background:#fff;padding:.25rem .4rem;border-radius:8px}.app-title{font-weight:600;letter-spacing:.02em}.app-links{display:flex;align-items:center;gap:1.25rem}.app-link{color:#ffffffe0;font-weight:600;padding:.35rem .6rem;border-radius:6px;transition:background .2s,color .2s}.app-link.active,.app-link:hover{color:#fff;background:#ffffff26}.app-dropdown{position:relative}.app-dropdown-trigger{background:transparent;border:none;cursor:pointer}.app-caret{margin-left:.35rem;font-size:.8rem}.app-dropdown-menu{position:absolute;top:120%;left:0;min-width:200px;background:#fff;color:var(--text);border-radius:10px;box-shadow:var(--shadow-soft);padding:.4rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .2s ease;z-index:10}.app-dropdown:hover .app-dropdown-menu,.app-dropdown:focus-within .app-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.app-dropdown-item{display:block;padding:.55rem .8rem;border-radius:8px;font-weight:600;color:var(--text)}.app-dropdown-item:hover,.app-dropdown-item.active{background:var(--surface-muted);color:var(--brand-navy)}.app-nav-right{display:flex;align-items:center;gap:1.25rem}.app-user{display:flex;flex-direction:column;align-items:flex-end;font-size:.8rem;color:#ffffffb3}.app-user-name{font-size:.95rem;font-weight:600;color:#fff}.app-logout{background:var(--brand-accent);border:none;color:#1a1a1a;font-weight:700;padding:.5rem 1rem;border-radius:999px;cursor:pointer;transition:transform .2s,box-shadow .2s}.app-logout:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f0a5264d}.app-main{flex:1;padding:1.5rem 1.5rem 2rem}@media(max-width:1024px){.app-nav{flex-wrap:wrap;gap:1rem}.app-links{width:100%;justify-content:flex-start;flex-wrap:wrap}.app-nav-right{width:100%;justify-content:space-between}}#root{width:100%;height:100vh;margin:0;padding:0}
