:root { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #273a35; background: #f5f6f2; font-synthesis: none; --green: #177c67; --green-dark: #115e50; --mint: #e7f3ed; --border: #dce4dd; }
* { box-sizing: border-box; }
body { margin: 0; }
button, input { font: inherit; }
button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 14px; color: inherit; background: #fff; border: 1px solid transparent; border-radius: 12px; cursor: pointer; font-weight: 600; -webkit-tap-highlight-color: transparent; }
button:hover { background: #eef3ee; }
button:active { transform: translateY(1px); }
button:disabled { color: #7b857e; background: #f3f5f1; cursor: default; transform: none; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #3069ce; outline-offset: 3px; }
button.primary { background: var(--green); color: #fff; }
button.primary:hover { background: var(--green-dark); }
button.danger { background: #b23b35; color: #fff; }
[hidden] { display: none !important; }
.icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.icon.small { width: 16px; height: 16px; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
h2, p { margin: 0; }
dialog { max-width: min(420px, calc(100vw - 32px)); width: 420px; padding: 28px; border: 1px solid var(--border); border-radius: 22px; color: #273a35; box-shadow: 0 16px 80px #193e3526; }
dialog::backdrop { background: #203d3666; }
dialog h2 { font-size: 20px; margin-bottom: 12px; }
dialog p { font-size: 15px; line-height: 1.7; color: #53645e; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
