:root{--bg: #f5f1ef;--panel: #ffffff;--ink: #272b21;--muted: #6b6f60;--line: #e7ded7;--brand: #aa6230;--brand-hover: #bb7f55;--brand-ink: #ffffff;--header: #272b21;--header-ink: #f5f1ef;--sand: #ddac8a;--sage: #8d957e;--err: #ea384c;--ok: #3a6b46;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--header);color:var(--header-ink);box-shadow:0 1px #0000002e}.imp-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:9px 28px;background:#8a1c1c;color:#fff;font-size:14px;font-weight:600;letter-spacing:.2px}.imp-banner__stop{font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:#8a1c1c;background:#fff;border:0;border-radius:6px;padding:3px 12px}.imp-banner__stop:hover{background:#ffe9e9}.brand{font-family:inherit;font-size:19px;font-weight:700;letter-spacing:.3px;color:var(--header-ink);background:none;border:0;padding:4px 0;margin:0;cursor:pointer;line-height:1;border-radius:4px}.brand span{font-weight:500;color:var(--sand)}.brand:hover span{color:#f0d8c2}.brand:focus-visible{outline:2px solid var(--sand);outline-offset:4px}.topbar__right{display:flex;align-items:center;gap:14px}.topbar__right .muted{color:#cdc9bf;font-size:14px}.content{flex:1;width:100%;max-width:880px;margin:0 auto;padding:32px 20px}.footer{padding:20px 24px;text-align:center;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 2px 10px #272b210d;margin-bottom:22px}.panel.center{text-align:center;max-width:480px;margin:64px auto}.center{text-align:center}h1{margin:0 0 6px;font-size:26px;font-weight:700;letter-spacing:-.01em}h2{margin:0 0 6px;font-size:23px;font-weight:700;letter-spacing:-.01em}h3{margin:0 0 4px;font-size:18px;font-weight:600}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.stack{display:flex;flex-direction:column;gap:6px}.actor{display:flex;align-items:center;gap:8px;font-size:13px}.actor select,.actor input{padding:5px 8px;border:1px solid #4a4e40;border-radius:6px;font:inherit;font-size:13px;background:#33372b;color:var(--header-ink)}.actor__tag{font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:#1f2218;background:var(--sand);padding:2px 7px;border-radius:999px}.actor__email{color:var(--header-ink);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actor__reader{color:var(--header-ink);opacity:.8;font-style:italic}.signin{max-width:520px;margin:48px auto;text-align:center}.signin h1{margin:0 0 6px}.signin .btn{margin-top:14px}.btn{padding:10px 18px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn--primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.btn--ghost{background:transparent;border-color:transparent;color:var(--brand);text-decoration:underline;font-weight:600}.btn--ghost:hover:not(:disabled){color:var(--brand-hover)}.btn--danger{background:#fff;border-color:#e6b8bf;color:var(--err)}.btn--danger:hover:not(:disabled){background:var(--err);border-color:var(--err);color:#fff}.btn--sm{padding:6px 12px;font-size:13px}.actions{display:flex;align-items:center;gap:10px;margin-top:20px;flex-wrap:wrap}.spacer{flex:1}.fields{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:4px}.field__label{font-weight:600;font-size:15px}.field__req{color:var(--err)}.field__help{margin:0;font-size:13px;color:var(--muted)}.field__input{padding:10px 12px;border:1px solid var(--line);border-radius:7px;font:inherit;background:#fff;color:var(--ink);transition:border-color .12s ease}.field__input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.field__radios{display:flex;flex-direction:column;gap:8px;padding:4px 0}.radio,.check{display:flex;align-items:center;gap:8px;font-size:15px}.radio input,.check input{accent-color:var(--brand)}.field__input--area{width:100%;resize:vertical;line-height:1.5;font-family:inherit}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 720px){.content-grid{grid-template-columns:1fr}}.content-col__title{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.content-box{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:#fdfbfa;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;line-height:1.55;color:var(--ink);max-height:460px;overflow:auto}.content-box--frozen{background:#f3efec;color:#55584c}.diff-add{background:#e2efe4;color:#2c5c3a;text-decoration:none;border-radius:3px;padding:0 1px}.diff-del{background:#fbe4e6;color:#9a3340;text-decoration:line-through;border-radius:3px;padding:0 1px}.comments{margin-top:16px}.comments__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.comments__item{border-left:3px solid var(--sand);padding:2px 0 2px 12px}.comments__who{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.comments__text{margin:2px 0 0;font-size:14px;white-space:pre-wrap}.table{width:100%;border-collapse:collapse;margin-top:8px}.table th,.table td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#faf7f4}.table .title-cell{font-weight:600}.tabs{display:flex;gap:4px;margin-top:14px;border-bottom:1px solid var(--line)}.tab{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 12px;font:inherit;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer}.tab:hover{color:var(--ink)}.tab--active{color:var(--brand);border-bottom-color:var(--brand)}.linklike{background:none;border:0;padding:0;color:var(--brand);font:inherit;text-decoration:underline;cursor:pointer}.linklike:hover:not(:disabled){color:var(--brand-hover)}.badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap}.badge--neutral{background:#ede7e3;color:#5a4a3a}.badge--progress{background:#f3e6d9;color:#8a5a2a}.badge--ok{background:#e7ede2;color:var(--ok)}.badge--danger{background:#fbe4e7;color:#b32b39}.badge--muted{background:#eceae7;color:#7a766f}.badge--class{background:#e4e8de;color:#3a5a3f}.rail{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px;padding:0;list-style:none}.rail__step{flex:1 1 130px;min-width:120px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#faf7f4;display:flex;flex-direction:column;gap:2px}.rail__n{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.rail__label{font-size:13px;font-weight:600}.rail__step--done{background:#eef2ea;border-color:#cdd8c4}.rail__step--done .rail__n{color:var(--ok)}.rail__step--current{background:var(--brand);border-color:var(--brand)}.rail__step--current .rail__n,.rail__step--current .rail__label{color:#fff}.rail__step--done .rail__n:before{content:"✓ "}.terminal-banner{margin:0 0 16px;padding:12px 14px;border-radius:8px;font-weight:600;font-size:14px;border:1px solid}.terminal-banner--danger{background:#fbe4e7;border-color:#e6b8bf;color:#b32b39}.terminal-banner--muted{background:#eceae7;border-color:#ddd8d2;color:#6a665f}.terminal-banner--ok{background:#e7ede2;border-color:#cdd8c4;color:var(--ok)}.timeline{list-style:none;margin:8px 0 0;padding:0}.timeline__item{position:relative;padding:0 0 18px 22px;border-left:2px solid var(--line)}.timeline__item:last-child{border-left-color:transparent;padding-bottom:0}.timeline__dot{position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--brand);border:2px solid var(--panel)}.timeline__head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.timeline__action{font-weight:700;text-transform:capitalize}.timeline__transition{font-size:13px;color:var(--muted)}.timeline__meta{font-size:12px;color:var(--muted);margin:2px 0 0}.timeline__note{margin:6px 0 0;padding:8px 10px;background:#faf7f4;border:1px solid var(--line);border-radius:6px;font-size:14px;white-space:pre-wrap}.timeline__tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.timeline__tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#f0ece7;color:#6a5a48;border:1px solid var(--line)}.action-card{border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:14px;background:#faf7f4}.action-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.action-card__body{margin-top:12px}.action-card__roles{font-size:12px;color:var(--muted)}.inline-error{margin:12px 0 0;padding:10px 12px;background:#fbe4e7;border:1px solid #e6b8bf;border-radius:7px;color:#b32b39;font-size:14px}.inline-error__code{font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.notice{margin:12px 0 0;padding:10px 12px;background:#e7ede2;border:1px solid #cdd8c4;border-radius:7px;color:var(--ok);font-size:14px}.dev-flag{font-size:11px;color:#8a5a2a;background:#f3e6d9;border:1px solid #e2d0bd;border-radius:6px;padding:2px 8px;font-weight:600}.empty{text-align:center;color:var(--muted);padding:40px 10px}.loading{text-align:center;color:var(--muted);padding:30px 10px}
