:root{--color-bg: #f7f8f6;--color-surface: #ffffff;--color-text: #1e2823;--color-muted: #5c6b62;--color-border: #d8ded9;--color-primary: #1f6f43;--color-primary-dark: #175434;--color-danger: #b3372e;--color-badge: #b25e09;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.5}a{color:var(--color-primary)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;padding:.75rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__brand{display:flex;align-items:center;gap:.6rem}.app-header__title{font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--color-text)}.app-nav{display:flex;gap:1.25rem}.app-nav a{text-decoration:none;color:var(--color-muted);padding:.25rem 0}.app-nav a.active{color:var(--color-primary);border-bottom:2px solid var(--color-primary)}.app-header__user{margin-left:auto;display:flex;align-items:center;gap:.75rem}.app-header__email{color:var(--color-muted);font-size:.9rem}.app-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.5rem}.app-footer{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-surface);font-size:.85rem;color:var(--color-muted)}.env-badge{background:var(--color-badge);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:.75rem}.btn{font:inherit;padding:.5rem 1rem;border-radius:.375rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn--primary:not(:disabled):hover{background:var(--color-primary-dark)}.btn--danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn--quiet{border-color:transparent;color:var(--color-muted)}.btn--social{width:100%}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.signin__card{width:100%;max-width:24rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem}.signin__title{margin-top:0;font-size:1.4rem;display:flex;align-items:center;gap:.6rem}.signin__intro{color:var(--color-muted);font-size:.95rem}.signin__form{display:flex;flex-direction:column;gap:.4rem}.signin__form label{font-size:.85rem;font-weight:600}.signin__form input{font:inherit;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:.375rem;margin-bottom:.5rem}.signin__error{color:var(--color-danger);font-size:.9rem}.signin__divider{text-align:center;color:var(--color-muted);margin:1.25rem 0 .75rem;font-size:.85rem}.signin__federated{display:flex;flex-direction:column;gap:.5rem}.signin__coming-soon{font-size:.8rem;color:var(--color-muted);margin:.25rem 0 0}.signin__privacy-link{margin-top:1.5rem;font-size:.85rem;color:var(--color-muted)}.page-status{color:var(--color-muted)}.page-error{color:var(--color-danger)}.data-table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem}.data-table th,.data-table td{text-align:left;padding:.6rem .9rem;border-bottom:1px solid var(--color-border)}.data-table tbody tr:last-child td{border-bottom:none}.action-row{display:flex;gap:.75rem;margin:1rem 0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.5rem 2rem;margin:0}.detail-grid__pair{display:contents}.detail-grid dt{color:var(--color-muted);font-size:.85rem}.detail-grid dd{margin:0 0 .5rem}.detail-grid__pair dt,.detail-grid__pair dd{display:inline-block}.detail-grid__pair{display:block}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;word-break:break-all}.json-view{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;overflow-x:auto;font-size:.8rem}.raw-json{margin-top:1.5rem}.privacy{max-width:44rem}.privacy__meta{color:var(--color-muted);font-size:.9rem}
