:root{--gray-1: #ffffff;--gray-2: #fcfcfc;--gray-3: #f9f9f9;--gray-4: #f1f1f1;--gray-5: #ebebeb;--gray-6: #d6d6d6;--gray-8: #b3b3b3;--gray-9: #999999;--gray-11: #666666;--gray-12: #333333;--overlay-light: rgba(0, 0, 0, .039);--overlay-medium: rgba(0, 0, 0, .078);--bg: var(--gray-1);--surface: var(--gray-1);--surface-elevated: var(--gray-2);--border-subtle: var(--gray-5);--border-muted: var(--gray-4);--border-strong: var(--gray-6);--text: var(--gray-12);--text-2: var(--gray-11);--text-muted: var(--gray-9);--accent: var(--brand);--accent-fg: var(--gray-1);--brand: #009f24;--brand-strong: #00811d;--brand-soft: rgba(0, 159, 36, .12);--blue: var(--brand);--blue-soft: var(--brand-soft);--success: #00a433;--success-soft: rgba(0, 164, 51, .1);--warning: #b86e00;--warning-soft: rgba(184, 110, 0, .1);--danger: #f3000d;--danger-soft: rgba(243, 0, 13, .08);--radius-sm: 4px;--radius-md: 8px;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-feature-settings:"cv11","ss01";font-size:14.7px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.wrap{max-width:880px;margin:0 auto;padding:32px 20px 80px}header h1{font-size:24.6px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}header p{color:var(--text-2);margin:0 0 24px;font-size:14.7px}.tenant{display:inline-flex;align-items:center;gap:8px;margin:0 0 24px;font-size:13px;font-weight:600;color:var(--text-2)}.tenant select{padding:6px 10px;border:1px solid var(--border-muted);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-weight:500}.card{background:var(--surface);border:1px solid var(--border-muted);border-radius:var(--radius-md);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-xs)}.card h2{font-size:16px;font-weight:600;margin:0 0 14px;display:flex;gap:10px;align-items:center}.card h3{font-size:13.6px;font-weight:500;color:var(--text-2);margin:0 0 8px}.uploads{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}@media(max-width:640px){.uploads,.grid{grid-template-columns:1fr!important}}.drop{display:flex;flex-direction:column;gap:3px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:12px 14px;background:var(--overlay-light);cursor:pointer;transition:all .15s ease-out}.drop:hover{background:var(--overlay-medium)}.drop{position:relative}.drop.has{border-color:var(--gray-8);background:var(--surface);padding-right:44px}.drop-x{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;cursor:pointer;transition:all .15s ease-out}.drop-x:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft)}.drop-t{font-weight:500;font-size:13.6px}.drop-f{color:var(--text-muted);font-size:13.6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop input{display:none}.primary{font:500 14.7px var(--font-sans);color:var(--accent-fg);background:var(--accent);border:0;border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;transition:all .15s ease-out}.primary:hover:not(:disabled){background:var(--text-2)}.primary:active:not(:disabled){transform:scale(.97)}.primary:disabled{opacity:.5;cursor:not-allowed}.hint{color:var(--text-muted);font-size:13.6px;margin:10px 0 0}.error{background:var(--danger-soft);border:1px solid var(--danger-soft);color:var(--danger);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:16px;font-size:13.6px;white-space:pre-line}.ok{color:var(--success);font-size:13.6px;font-weight:500}.warn{color:var(--warning);font-size:13.6px;font-weight:500}.checks{margin-bottom:12px}.chk{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--border-muted);font-size:13.6px}.chk:last-child{border-bottom:0}.chk.ok span{color:var(--success)}.chk.bad,.chk.bad span{color:var(--danger)}.chk.warnrow,.chk.warnrow span{color:var(--warning)}.chk em{color:var(--text-muted);font-style:normal;font-size:12px;text-align:right}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin-bottom:16px}.group{display:flex;flex-direction:column;gap:8px}.field-group{display:flex;flex-direction:column;gap:6px}.field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.field span{color:var(--text-2);font-size:13.6px}.field input{font:inherit;font-size:13.6px;text-align:right;width:150px;height:32px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 10px;background:var(--overlay-light);color:var(--text);outline:none;transition:all .15s ease-out}.field input:focus{border-color:var(--blue);background:var(--surface);box-shadow:0 0 0 2px var(--blue-soft)}.chkbox{display:flex;gap:8px;align-items:center;font-size:13.6px;margin-top:4px}.dl{font-size:13.6px;color:var(--text-2);text-decoration:none}.dl:hover{color:var(--text);text-decoration:underline}iframe{width:100%;height:780px;border:1px solid var(--border-muted);border-radius:var(--radius-md)}.field--block{display:block}.field--block>span{display:block;margin-bottom:6px}.field--block input{width:100%;text-align:left;height:38px}.select{width:100%;height:38px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--text);font:400 13.6px var(--font-sans);padding:0 34px 0 12px;cursor:pointer;transition:all .15s ease-out;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.select:hover{border-color:var(--gray-8);background-color:var(--overlay-light)}.select:focus-visible{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.select option{background:var(--surface);color:var(--text)}.drop--spaced,.primary--spaced{margin-top:12px}.hint--flush,.error--flush{margin-top:0}.sim-ok{margin:10px 0 0;font-size:13.6px;font-weight:600;color:var(--success)}.sim-warn{margin:10px 0 0;font-size:13.6px;font-weight:600;color:var(--warning)}.json{margin-top:16px}.json summary{cursor:pointer;color:var(--text-2);font-size:13px}.json pre{margin-top:10px;max-height:320px;overflow:auto;font-family:var(--font-mono);font-size:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:12px;background:var(--overlay-light);color:var(--text)}.login{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px}.login:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:url(/bg_app.webp) center / cover no-repeat;filter:brightness(.52) contrast(1.06)}.login>*{position:relative;z-index:1}.brand-logo{display:block;height:32px;width:auto}.brand-logo--lg{height:66px}header .brand-logo{margin-bottom:14px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:20px;padding:44px 40px}.login-logo{align-self:center;height:46px;margin-bottom:20px}.login-card h1{font-size:21px;font-weight:600;margin:0 0 6px;text-align:center}.login-card .primary{width:100%;padding:11px;margin-top:4px}header{position:relative}.header-links{position:absolute;top:0;right:0;display:flex;align-items:center;gap:10px}.doclink{font-size:13px;color:var(--text-2);text-decoration:none}.doclink:hover{color:var(--brand);text-decoration:underline}.logout{padding:6px 12px;font-size:13px;color:var(--text-2);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer}.logout:hover{background:var(--overlay-light)}
