*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--surface-ground);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}.numeric{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}a{color:var(--status-info);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:var(--border-thick) solid var(--status-info);outline-offset:2px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100%}.sidebar{background:var(--surface-raised);border-right:var(--border-hairline) solid var(--surface-border);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar__brand{font-size:var(--font-body-large);font-weight:var(--weight-bold);margin-bottom:var(--space-lg)}.sidebar__link{display:block;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none}.sidebar__link:hover{background:var(--surface-card);text-decoration:none}.sidebar__link--active{background:var(--surface-overlay);color:var(--text-primary);font-weight:var(--weight-medium)}.sidebar__footer{margin-top:auto;padding-top:var(--space-lg);border-top:var(--border-hairline) solid var(--surface-border);color:var(--text-muted);font-size:var(--font-caption)}.main{padding:var(--space-xxl);min-width:0}.page-title{font-size:var(--font-title);font-weight:var(--weight-semibold);margin:0 0 var(--space-lg)}.page-subtitle{color:var(--text-muted);font-size:var(--font-caption);margin:calc(var(--space-lg) * -1) 0 var(--space-lg)}.card{background:var(--surface-card);border:var(--border-hairline) solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg)}.card__title{font-size:var(--font-body-large);font-weight:var(--weight-semibold);margin:0 0 var(--space-md)}.grid{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.row--between{justify-content:space-between}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--font-body)}.table th{text-align:left;font-weight:var(--weight-medium);font-size:var(--font-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-sm) var(--space-md);border-bottom:var(--border-hairline) solid var(--surface-border);white-space:nowrap}.table td{padding:var(--space-md);border-bottom:var(--border-hairline) solid var(--surface-border);vertical-align:top}.table tbody tr:hover{background:var(--surface-raised)}.table td.numeric,.table th.numeric{text-align:right}.badge{display:inline-block;padding:var(--space-xxs) var(--space-sm);border-radius:var(--radius-pill);font-size:var(--font-micro);font-weight:var(--weight-medium);letter-spacing:.03em;border:var(--border-hairline) solid var(--surface-border-strong);color:var(--text-secondary);white-space:nowrap}.badge--success{color:var(--status-success);border-color:var(--status-success)}.badge--warning{color:var(--status-warning);border-color:var(--status-warning)}.badge--danger{color:var(--status-danger);border-color:var(--status-danger)}.badge--info{color:var(--status-info);border-color:var(--status-info)}.field{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.field__label{font-size:var(--font-caption);color:var(--text-secondary)}.field__hint{font-size:var(--font-micro);color:var(--text-muted)}.input,.select,.textarea{background:var(--surface-ground);border:var(--border-hairline) solid var(--surface-border-strong);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--font-body);padding:var(--space-sm) var(--space-md);min-height:44px;width:100%}.textarea{min-height:88px;resize:vertical}.button{background:var(--surface-overlay);border:var(--border-hairline) solid var(--surface-border-strong);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-body);font-weight:var(--weight-medium);min-height:44px;padding:var(--space-sm) var(--space-lg)}.button:hover:not(:disabled){border-color:var(--text-muted)}.button:disabled{color:var(--text-disabled);cursor:not-allowed}.button--primary{background:var(--status-info);border-color:var(--status-info);color:var(--text-inverse)}.button--danger{background:var(--status-danger);border-color:var(--status-danger);color:var(--text-inverse)}.button--quiet{background:transparent}.notice{border-radius:var(--radius-md);border:var(--border-hairline) solid var(--surface-border-strong);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.notice--danger{border-color:var(--status-danger);color:var(--status-danger)}.notice--warning{border-color:var(--status-warning);color:var(--status-warning)}.notice--success{border-color:var(--status-success);color:var(--status-success)}.request-id{font-family:var(--font-numeric);font-size:var(--font-micro);color:var(--text-muted);-webkit-user-select:all;user-select:all}.muted{color:var(--text-muted)}.empty{color:var(--text-muted);padding:var(--space-xxl);text-align:center}.login{display:grid;place-items:center;min-height:100%;padding:var(--space-lg)}.login__card{background:var(--surface-card);border:var(--border-hairline) solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-xxl);width:min(420px,100%)}.diff{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.diff__side{background:var(--surface-ground);border:var(--border-hairline) solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-md);overflow-x:auto}.diff__label{font-size:var(--font-micro);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-xs)}.diff pre{margin:0;font-family:var(--font-numeric);font-size:var(--font-micro);white-space:pre-wrap;word-break:break-word}@media(max-width:900px){.shell,.diff{grid-template-columns:1fr}.main{padding:var(--space-lg)}}
