:root{color-scheme:dark;--color-page:#111315;--color-surface:#17191d;--color-surface-muted:#22262b;--color-surface-raised:#1f2329;--color-text:#f4f7fb;--color-muted:#a8b1c0;--color-border:#2c323a;--color-accent:#12a386;--color-accent-strong:#15b995;--color-accent-soft:#123d35;--color-button-text:#ffffff;--color-danger:#ffb4b4;--color-danger-soft:#3a1c20;--color-success:#83e6c7;--color-success-soft:#123d35;--shadow-panel:0 16px 38px rgba(0,0,0,0.28);--radius-panel:22px;--radius-pill:999px;--font-body:Roboto,Arial,sans-serif}:root[data-theme=light]{color-scheme:light;--color-page:#f7f8fb;--color-surface:#ffffff;--color-surface-muted:#eef2f7;--color-surface-raised:#ffffff;--color-text:#172033;--color-muted:#667085;--color-border:#d8dee8;--color-accent:#116b5f;--color-accent-strong:#0d4f46;--color-accent-soft:#dff5ef;--color-button-text:#ffffff;--color-danger:#9f2d2d;--color-danger-soft:#fce8e8;--color-success:#116b5f;--color-success-soft:#dff5ef;--shadow-panel:0 14px 36px rgba(20,31,53,0.08)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--color-page);color:var(--color-text);font-family:var(--font-body)}button,input{font:inherit}.panel-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:18px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.eyebrow{margin:0 0 4px;color:var(--color-accent);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin:0}h1{max-width:420px;font-size:24px;line-height:1.15;font-weight:800}.status-pill{display:inline-flex;align-items:center;flex-shrink:0;gap:8px;min-height:34px;padding:7px 12px;color:var(--color-muted);font-size:13px;font-weight:700}.status-pill,.theme-switcher{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface)}.theme-switcher{display:inline-grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-bottom:14px;padding:4px;box-shadow:var(--shadow-panel)}.theme-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:0;border-radius:var(--radius-pill);padding:0 12px;background:transparent;color:var(--color-muted);cursor:pointer;font-size:13px;font-weight:800}.theme-button--active,.theme-button:hover{color:var(--color-text)}.theme-button--active{background:var(--color-accent-soft)}.contact-card,.message,.search-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-raised);box-shadow:var(--shadow-panel)}.search-card{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px;padding:14px}.search-card label{color:var(--color-muted);font-size:13px;font-weight:700}.search-row{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px}.search-row input{min-width:0;min-height:42px;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 14px;background:var(--color-surface-muted);color:var(--color-text);outline:none}.search-row input:focus{border-color:var(--color-accent);background:var(--color-surface)}.search-row button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:var(--radius-pill);padding:0 16px;background:var(--color-accent);color:var(--color-button-text);cursor:pointer;font-weight:800}.candidate-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.candidate-actions button,.noria-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:0;border-radius:var(--radius-pill);padding:0 14px;background:var(--color-accent);color:var(--color-button-text);cursor:pointer;font-size:13px;font-weight:800;text-decoration:none}.candidate-actions button:hover:not(:disabled),.noria-link:hover{background:var(--color-accent-strong)}.candidate-actions .button-secondary{border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text)}.candidate-actions .button-secondary:hover:not(:disabled){background:var(--color-surface)}.candidate-actions button:disabled{cursor:wait;opacity:.72}.search-row button:hover:not(:disabled){background:var(--color-accent-strong)}.search-row button:disabled{cursor:wait;opacity:.72}.stack{display:grid;grid-gap:12px;gap:12px}.contact-card{padding:16px}.contact-card__header{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:center;margin-bottom:14px}.contact-card__header p{color:var(--color-muted);font-size:12px;font-weight:800;text-transform:uppercase}.contact-card__header h2{margin-top:2px;font-size:18px;line-height:1.25}.avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.contact-field{display:grid;grid-template-columns:auto 1fr;grid-gap:9px;gap:9px;min-width:0;padding:10px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface-muted);color:var(--color-muted)}.contact-field div{min-width:0}.contact-field span{display:block;margin-bottom:2px;font-size:11px;font-weight:800;text-transform:uppercase}.contact-field strong{display:block;overflow-wrap:anywhere;color:var(--color-text);font-size:14px;line-height:1.35}.message{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;padding:14px;color:var(--color-muted)}.message h2{margin-bottom:3px;color:var(--color-text);font-size:16px}.message p{font-size:14px;line-height:1.45}.message--error{border-color:var(--color-danger-soft);background:var(--color-danger-soft)}.message--error,.message--error h2{color:var(--color-danger)}.message--success{border-color:var(--color-success-soft);background:var(--color-success-soft)}.message--success,.message--success h2{color:var(--color-success)}.message--success p{margin-bottom:10px}.skeleton{height:52px;border-radius:16px;background:linear-gradient(90deg,var(--color-surface-muted),var(--color-surface),var(--color-surface-muted));background-size:220% 100%;animation:shimmer 1.15s infinite}.skeleton--title{height:86px}.skeleton--short{width:68%}.spin{animation:spin .8s linear infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:560px){.panel-shell{padding:14px}.panel-header{display:grid}h1{font-size:21px}.status-pill{width:100%;justify-content:center}.theme-switcher{width:100%}.field-grid,.search-row{grid-template-columns:1fr}.candidate-actions,.candidate-actions button,.noria-link,.search-row button{width:100%}}