*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg-card: #1a1d27;--bg-card-hover: #21253a;--border: #2a2f45;--text: #e2e8f0;--text-muted: #8892b0;--blue: #4f8ef7;--green: #34d399;--red: #f87171;--yellow: #fbbf24;--purple: #a78bfa;--font: system-ui, -apple-system, sans-serif}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}.page{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.page-loading,.page-error,.empty-state{max-width:900px;margin:4rem auto;padding:2rem;text-align:center;color:var(--text-muted)}.page-error{color:var(--red)}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.subtitle{color:var(--text-muted);font-size:.9rem}.back-link{display:inline-block;color:var(--blue);font-size:.875rem;margin-bottom:.75rem}.back-link:hover{text-decoration:underline}.account-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.account-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem;transition:background .15s,border-color .15s;cursor:pointer}.account-card:hover{background:var(--bg-card-hover);border-color:var(--blue)}.account-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.account-card-header h2{font-size:1rem;font-weight:600}.account-id{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.account-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--text-muted)}.account-context-box{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.account-context-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:0;flex-wrap:wrap}.account-context-hint{font-weight:400;text-transform:none;letter-spacing:0;opacity:.7;font-size:.78rem}.account-context-saved{margin-left:auto;color:var(--green);font-size:.75rem;font-weight:600;text-transform:none;letter-spacing:0}.account-context-textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:var(--font);font-size:.875rem;padding:.65rem .85rem;resize:vertical;outline:none;transition:border-color .15s;line-height:1.5}.account-context-textarea:focus{border-color:var(--blue)}.account-context-textarea::placeholder{color:var(--text-muted);opacity:.55}.publish-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;flex-wrap:wrap}.publish-counts{display:flex;gap:.5rem;flex-wrap:wrap}.publish-result{padding:.75rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;font-size:.9rem;white-space:pre-wrap}.count-badge{font-size:.8rem;padding:.25rem .6rem;border-radius:20px;font-weight:500}.count-badge.pending{background:#fbbf2426;color:var(--yellow)}.count-badge.approved{background:#34d39926;color:var(--green)}.count-badge.failed{background:#f8717126;color:var(--red)}.count-badge.reviewed{background:#94a3b81a;color:var(--text-muted)}.btn-publish{background:var(--blue);color:#fff;border:none;border-radius:7px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-publish:hover:not(:disabled){opacity:.85}.btn-publish:disabled{opacity:.4;cursor:default}.rec-section{margin-bottom:2rem}.rec-section h2{font-size:1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.rec-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.1rem 1.25rem;margin-bottom:.75rem}.rec-card--approved{border-color:#34d3994d}.rec-card--rejected{opacity:.55}.rec-card--published{border-color:#4f8ef74d}.rec-card--failed{border-color:#f871714d}.rec-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;flex-wrap:wrap;gap:.4rem}.rec-card-badges{display:flex;gap:.4rem;flex-wrap:wrap}.badge{font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:20px;letter-spacing:.03em;text-transform:uppercase}.badge--priority-high{background:#f871712e;color:var(--red)}.badge--priority-medium{background:#fbbf242e;color:var(--yellow)}.badge--priority-low{background:#34d3992e;color:var(--green)}.badge--type{background:#4f8ef726;color:var(--blue)}.badge--status-pending{background:#fbbf2426;color:var(--yellow)}.badge--status-approved{background:#34d39926;color:var(--green)}.badge--status-rejected{background:#94a3b81a;color:var(--text-muted)}.badge--status-published{background:#4f8ef726;color:var(--blue)}.badge--status-failed{background:#f8717126;color:var(--red)}.rec-description{font-weight:500;margin-bottom:.35rem}.rec-reasoning{font-size:.875rem;color:var(--text-muted)}.rec-actions{display:flex;gap:.6rem;margin-top:.9rem}.btn{padding:.35rem 1rem;border-radius:6px;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn:hover{opacity:.85}.btn--approve{background:var(--green);color:#0f1117}.btn--reject{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.btn--retry{background:#fbbf2426;border:1px solid rgba(251,191,36,.3);color:var(--yellow)}.alert-pill{display:inline-block;margin-left:.6rem;background:#f871712e;color:var(--red);font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;vertical-align:middle;letter-spacing:.02em}.health-alerts{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--border)}.health-badge{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:20px}.health-badge--danger{background:#f871712e;color:var(--red)}.health-badge--warning{background:#fbbf242e;color:var(--yellow)}.health-badge--muted{background:#94a3b81f;color:var(--text-muted)}.change-log-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.change-log-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}.change-log-table{width:100%;border-collapse:collapse;font-size:.875rem}.change-log-table th{text-align:left;padding:.65rem 1rem;background:var(--bg-card);color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.change-log-table td{padding:.65rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.change-log-table tbody tr:last-child td{border-bottom:none}.change-log-table tbody tr:hover td{background:var(--bg-card-hover)}.change-log-row--failed td{opacity:.6}.change-log-date{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.change-log-desc{max-width:380px}.change-log-error{font-size:.75rem;color:var(--red);margin-top:.3rem;max-width:320px;opacity:.85}.pin-backdrop{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.pin-box{display:flex;flex-direction:column;align-items:center;gap:1.75rem;padding:2.5rem 2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:280px}@keyframes pin-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.pin-box--shake{animation:pin-shake .5s ease}.pin-title{font-size:1rem;font-weight:600;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.pin-dots{display:flex;gap:1rem}.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);transition:background .15s,border-color .15s}.pin-dot--filled{background:var(--blue);border-color:var(--blue)}.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%}.pin-key{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;font-size:1.2rem;font-weight:600;padding:.75rem;cursor:pointer;transition:background .1s,border-color .1s}.pin-key:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--blue)}.pin-key:active:not(:disabled){transform:scale(.95)}.pin-key--empty{border-color:transparent;background:transparent;cursor:default}.rec-rejection-reason{font-size:.8rem;color:var(--text-muted);margin-top:.4rem;font-style:italic}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.75rem;width:100%;max-width:480px;display:flex;flex-direction:column;gap:1.1rem}.modal-title{font-size:1.05rem;font-weight:700}.modal-desc{font-size:.875rem;color:var(--text-muted);background:#ffffff0a;border-radius:6px;padding:.6rem .85rem;border-left:2px solid var(--border)}.modal-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.modal-optional{font-weight:400;opacity:.6;text-transform:none;letter-spacing:0;margin-left:.25rem}.modal-quick-reasons{display:flex;flex-wrap:wrap;gap:.4rem}.modal-quick-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:.3rem .75rem;font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.modal-quick-btn:hover{border-color:var(--blue);color:var(--text)}.modal-quick-btn--active{background:#4f8ef726;border-color:var(--blue);color:var(--blue)}.modal-textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:var(--font);font-size:.875rem;padding:.65rem .85rem;resize:vertical;min-height:72px;outline:none;transition:border-color .15s}.modal-textarea:focus{border-color:var(--blue)}.modal-textarea::placeholder{color:var(--text-muted);opacity:.6}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end}.btn--cancel{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.btn--reject-confirm{background:var(--red);color:#fff}
