:root{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-2: #f7f2eb;--border: #e7ddcf;--text: #382b22;--muted: #786754;--accent: #b93d32;--accent-text: #ffffff;--selected: #eaf2eb;--green-bg: #eaf2eb;--green-fg: #2f6b46;--red-bg: #fcece8;--red-fg: #b93d32;--yellow-bg: #f7edda;--yellow-fg: #786039;--gray-bg: #f0e9df;--gray-fg: #786754;--focus: #2f6b46;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--header-h: 44px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 var(--font)}h1{font-size:18px;margin:0 0 12px}h2{font-size:15px;margin:0 0 8px}a{color:var(--accent)}section{margin-bottom:28px}.mono,code,pre{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.break{overflow-wrap:anywhere;word-break:break-word}.num{text-align:right;font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shell{display:flex;flex-direction:column;min-height:100%}.header{display:flex;align-items:center;gap:16px;min-height:var(--header-h);padding:4px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.wordmark{color:var(--accent);font-weight:700;letter-spacing:-.01em;font-size:15px}.header nav{display:flex;gap:2px;flex:1;flex-wrap:wrap}.header nav a{padding:6px 10px;border-radius:4px;color:var(--text);text-decoration:none}.header nav a:hover{background:var(--surface-2)}.header nav a.active{background:var(--selected);font-weight:600}.page{padding:16px;max-width:1100px;width:100%;margin:0 auto}.crumbs{margin:0 0 8px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.section-head h2{margin:0}.btn{font:inherit;padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-small{padding:3px 8px;font-size:12.5px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(.93)}.btn-danger{color:var(--red-fg);border-color:var(--red-fg)}.btn[aria-pressed=true]{background:var(--selected);font-weight:600}input,select{font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);min-width:0;width:100%}input.mono{font-family:var(--mono);font-size:12.5px}input[aria-invalid=true]{border-color:var(--red-fg)}.field{display:flex;flex-direction:column;gap:4px;flex:1 1 180px;min-width:0}.field>span,.inline-field>span{font-size:12px;color:var(--muted)}.field-narrow{flex:0 1 120px}.inline-field{display:flex;align-items:center;gap:8px}.inline-field select{width:auto}.hint{color:var(--muted);font-size:12px}.field-error{color:var(--red-fg);font-size:12px;margin:0}.form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;padding:12px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.form-row h2{flex-basis:100%;margin:0}.form-row>.btn{margin-top:20px}.form-row .state{flex-basis:100%}.state{padding:12px;margin:0;color:var(--muted)}.state-error{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--red-fg);background:var(--red-bg);border-radius:4px}.warning{padding:8px 12px;margin:8px 0;background:var(--yellow-bg);color:var(--yellow-fg);border-radius:4px}.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}.badge-green{background:var(--green-bg);color:var(--green-fg)}.badge-red{background:var(--red-bg);color:var(--red-fg)}.badge-yellow{background:var(--yellow-bg);color:var(--yellow-fg)}.badge-gray{background:var(--gray-bg);color:var(--gray-fg)}.badges{display:flex;gap:6px;flex-wrap:wrap}.code-chip{padding:1px 6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);font-weight:600;letter-spacing:.04em}.code-chip-large{font-size:16px;padding:3px 10px}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px}table{width:100%;border-collapse:collapse}th,td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}th{font-size:12px;font-weight:600;color:var(--muted);background:var(--surface-2)}th.num,td.num{text-align:right}tbody tr:last-child td{border-bottom:0}td.cell-error{white-space:normal;color:var(--red-fg);max-width:320px;overflow-wrap:anywhere}td.actions{text-align:right}.monitor-table{table-layout:fixed;min-width:780px}.monitor-table th:nth-child(1){width:32%}.monitor-table th:nth-child(2),.monitor-table th:nth-child(3){width:15%}.monitor-table th:nth-child(4){width:38%}.monitor-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.monitor-filter{display:flex;align-items:center;gap:8px;padding-top:24px}.monitor-filter input{width:auto}.login{min-height:100%;display:grid;place-items:center;padding:16px}.login-box{display:flex;flex-direction:column;gap:8px;width:100%;max-width:300px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.login-box h1{margin-bottom:8px}.login-box label{font-size:12px;color:var(--muted)}.inbox{flex:none;display:grid;grid-template-columns:220px minmax(260px,360px) minmax(0,1fr);height:calc(100dvh - var(--header-h));min-height:0}.inbox>*{min-height:0;margin-bottom:0;overflow-y:auto;border-right:1px solid var(--border)}.inbox-filters{padding:12px;background:var(--surface-2)}.inbox-list{display:flex;flex-direction:column;overflow-y:hidden;background:var(--surface)}.inbox-list .msg-list{flex:1;min-height:0;overflow-y:auto}.list-toolbar{flex-shrink:0}.inbox-detail{border-right:0;background:var(--surface)}.list-pagination{display:flex;justify-content:space-between;gap:8px;padding:10px;margin-top:auto;flex-shrink:0;border-top:1px solid var(--border)}.side-title{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 4px}.scope-list,.msg-list,.links{list-style:none;margin:0;padding:0}.scope{display:flex;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.scope:hover{background:var(--border)}.scope[aria-current=true]{background:var(--selected);font-weight:600}.list-toolbar,.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.msg{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.msg:hover{background:var(--surface-2)}.msg[aria-current=true]{background:var(--selected)}.msg-top,.msg-bottom{display:flex;justify-content:space-between;gap:8px;align-items:baseline;min-width:0}.msg-from,.msg-to,.msg-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.msg-subject{font-weight:600}.msg-top time{flex-shrink:0;font-size:12px}.reading{padding:0 16px 24px}.reading-toolbar{margin:0 -16px 12px}.subject{font-size:17px;margin:0 0 8px;overflow-wrap:anywhere}.meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0 0 12px}.meta dt{color:var(--muted);font-size:12px;padding-top:2px}.meta dd{margin:0}.extracted{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);margin-bottom:12px}.extracted-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;min-width:0}.extracted .label{font-size:12px;color:var(--muted);min-width:110px}.links li{padding:3px 0}details summary{cursor:pointer}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{font:inherit;padding:6px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tabpanel{padding-top:12px}.plain{margin:0;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}.snippet{white-space:pre;overflow-x:auto}.headers{margin:0}.headers>div{padding:4px 0;border-bottom:1px solid var(--border)}.headers dt{color:var(--muted)}.headers dd{margin:0}.preview .segmented{display:flex;gap:4px;margin-bottom:8px}.preview-frame-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.preview-frame{display:block;max-width:100%;height:640px;margin:0 auto;border:0;background:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#00000080;z-index:10}.modal{width:100%;max-width:480px;max-height:100%;overflow-y:auto;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.modal-title{margin-bottom:8px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.key-box{display:flex;align-items:center;gap:8px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:6px}.key-box code{flex:1;min-width:0}.only-narrow{display:none}@media (max-width: 860px){.only-narrow{display:inline-block}.inbox{display:block;height:auto}.inbox>*{display:none;border-right:0;overflow:visible}.inbox[data-pane=filters]>.inbox-filters,.inbox[data-pane=list]>.inbox-list,.inbox[data-pane=detail]>.inbox-detail{display:block;min-height:calc(100vh - var(--header-h))}.inbox[data-pane=list]>.inbox-list{display:flex;height:calc(100dvh - var(--header-h));overflow:hidden}.page{padding:12px}.header{padding:4px 12px;gap:8px}.header nav a{padding:6px 8px}.reading{padding:0 12px 24px}.reading-toolbar{margin:0 -12px 12px}.extracted .label{min-width:0;flex-basis:100%}.form-row>.btn{margin-top:0}}
