:root{--primary: #00695c;--primary-dark: #004d40;--on-primary: #ffffff;--surface: #ffffff;--surface-variant: #f1f3f2;--border: #d7dbda;--text: #1a1c1c;--text-muted: #5f6362;font-family:Segoe UI,Roboto,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--surface-variant);color:var(--text)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-bar{background:var(--primary);color:var(--on-primary);padding:12px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.app-bar span{font-size:20px;font-weight:600}.app-bar nav{display:flex;gap:4px;flex-wrap:wrap}.nav-tab{background:transparent;border:none;color:var(--on-primary);padding:8px 12px;border-radius:8px;cursor:pointer;opacity:.8}.nav-tab.active{background:#ffffff2e;opacity:1}main{flex:1;padding:16px}.center{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:var(--surface);border-radius:12px;padding:32px;width:380px;max-width:90vw;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 10px #0000001a}.panel{display:flex;justify-content:center}.panel-inner{width:100%;max-width:720px;display:flex;flex-direction:column;gap:12px}h1{font-size:24px;margin:0}h2{font-size:22px;margin:8px 0 0}.title-18{font-size:18px;margin:8px 0 0}input,select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--surface);color:var(--text)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.w-130{width:130px}.w-150{width:150px}.w-220{width:220px}.w-260{width:260px}button{cursor:pointer;border-radius:8px;padding:10px 16px;font-size:14px;border:1px solid transparent}button:disabled{cursor:not-allowed;opacity:.6}button.filled{background:var(--primary);color:var(--on-primary)}button.filled:hover:not(:disabled){background:var(--primary-dark)}button.tonal{background:#cfe8e4;color:var(--primary-dark)}button.outlined{background:transparent;border-color:var(--primary);color:var(--primary)}button.text-button{background:transparent;border:none;color:var(--primary)}button.icon-button{background:transparent;border:none;color:var(--text-muted);padding:4px 8px}.card{background:var(--surface);border-radius:10px;padding:12px;box-shadow:0 1px 3px #00000014}.table-wrap{max-height:360px;overflow:auto;background:var(--surface);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:8px 12px;text-align:left;white-space:nowrap}thead th{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border)}tbody tr:nth-child(2n){background:var(--surface-variant)}.opta-matched{color:#1b7a4b;font-weight:600;text-align:center}.opta-unmatched{color:var(--text-muted);text-align:center}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.progress-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;position:relative}.progress-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary);animation:indeterminate 1.2s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#323232;color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;box-shadow:0 2px 10px #0003;z-index:1000}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface);border-radius:10px;padding:24px;min-width:320px;display:flex;flex-direction:column;gap:12px}.selectable{-webkit-user-select:all;user-select:all}hr{border:none;border-top:1px solid var(--border);margin:4px 0}hr.section-divider{margin:24px 0 4px;border-top-width:2px}.combobox{position:relative;display:inline-block}.combobox-list{position:absolute;z-index:10;top:calc(100% + 4px);left:0;width:320px;max-height:280px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000001f}.combobox-list li{padding:8px 12px;cursor:pointer;font-size:14px}.combobox-list li:hover{background:var(--surface-variant)}.combobox-empty{color:var(--text-muted);cursor:default;font-style:italic}.combobox-empty:hover{background:transparent}.combobox-sublabel{color:var(--text-muted);font-size:12px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--primary)}.log-ok{color:#1b7a4b;font-weight:600}.log-error{color:#b3261e;font-weight:600}
