.button{min-height:var(--button-height);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-body);font-weight:var(--weight-bold);overflow-wrap:anywhere;cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;padding:10px 16px;line-height:1.3;text-decoration:none;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),filter .18s;display:inline-flex}.button--primary{background:var(--color-primary-strong);color:var(--color-surface);text-shadow:0 1px 1px #0000001f;box-shadow:0 1px 2px #0000001a,0 2px 6px #0000000f}.button--primary:hover{background:#065f46;transform:scale(1.01)translateY(-.5px);box-shadow:0 2px 4px #0000001f,0 4px 12px #00000014}.button--secondary{background:var(--color-icon-surface);color:var(--color-primary-strong)}.button--secondary:hover{background:#d1fae5;transform:scale(1.01)}.button--outline{background:var(--color-surface);color:var(--color-primary-strong);border-color:var(--color-primary)}.button--outline:hover{background:var(--color-tint);transform:scale(1.01)}.button--ghost,.button--icon{color:var(--color-primary-strong);background:0 0}.button--ghost:hover,.button--icon:hover{background:var(--color-tint);transform:scale(1.01)}.button--danger{background:var(--color-error);color:var(--color-surface);box-shadow:0 1px 2px #00000014,0 2px 6px #0000000d}.button--danger:hover{background:#991b1b;transform:scale(1.01)translateY(-.5px);box-shadow:0 2px 4px #0000001a,0 4px 10px #00000012}.button:active:not(:disabled){filter:brightness(.92);transition-duration:80ms;transform:scale(.98)}.button:disabled{opacity:.6;cursor:not-allowed}.button--full{width:100%}.button--icon{width:var(--touch-target);min-height:var(--touch-target);flex-shrink:0;padding:8px}.button--floating{background:var(--color-primary-strong);color:#fff;text-shadow:0 1px 1px #0000001f;border-radius:50%;width:56px;height:56px;padding:0;box-shadow:0 2px 4px #0000001f,0 6px 16px #0000001a,0 0 0 1px #0000000a}.button--floating:hover{transform:scale(1.04)translateY(-1px);box-shadow:0 4px 8px #00000024,0 10px 24px #0000001f,0 0 0 1px #0000000d}.button--floating:active{transition-duration:80ms;transform:scale(.96);box-shadow:0 1px 3px #0000001f,0 3px 8px #00000014}.button>svg{flex-shrink:0}@media (prefers-reduced-motion:reduce){.button{transition:none}}.nk-feedback{text-align:center;min-height:180px;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px 24px 24px;display:flex}.nk-feedback h2{color:#4b5563;letter-spacing:-.01em;font-size:.9375rem}.nk-feedback p{font-size:var(--font-sm);max-width:32rem;line-height:1.6}.nk-feedback--error>svg,.nk-inline-error{color:var(--color-error)}.nk-inline-error{font-size:var(--font-sm);align-items:flex-start;gap:8px;line-height:1.5;display:flex}.nk-inline-error svg{flex-shrink:0}.nk-notice{border-radius:var(--radius-sm);background:var(--color-info-surface);color:var(--color-info);font-size:var(--font-sm);border-left:3px solid;align-items:flex-start;gap:10px;padding:13px 14px 13px 16px;line-height:1.55;display:flex;position:relative}.nk-notice>div{overflow-wrap:anywhere;flex:1;min-width:0}.nk-notice>svg{flex-shrink:0;margin-top:2px}.nk-notice--warning{background:var(--color-warning-surface);color:var(--color-warning)}.nk-notice--success{background:var(--color-success-surface);color:var(--color-success)}.nk-notice--danger{background:var(--color-error-surface);color:var(--color-error)}.nk-modal{border-radius:var(--radius-modal);width:min(100% - 32px,34rem);max-height:calc(100dvh - 32px);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-calendar);will-change:transform, opacity;border:0;padding:0;animation:.22s cubic-bezier(.22,1,.36,1) both nk-modal-enter}.nk-modal:not([open]){display:none}.nk-modal::backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);animation:.2s both nk-backdrop-in}@keyframes nk-modal-enter{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes nk-backdrop-in{0%{opacity:0}to{opacity:1}}.nk-modal-inner{overflow-wrap:anywhere;padding:20px 22px}.nk-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.nk-modal-header h2{font-size:var(--font-lg);color:var(--color-text);letter-spacing:-.015em;font-weight:800}.nk-modal-body{padding-top:16px}.nk-modal--branch{border:1px solid #e5e7eb;border-radius:14px;width:min(280px,100vw - 28px);max-height:calc(100dvh - 90px);margin:0;animation:none;position:fixed;inset:72px auto auto 14px;box-shadow:0 6px 16px #0000002e}.nk-modal--branch::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000026;animation:none}.nk-modal--branch .nk-modal-inner{padding:6px 0}.nk-modal--branch .nk-modal-body{padding:0}.nk-branch-option{color:#374151;text-align:left;background:#fff;border:0;align-items:center;gap:10px;width:100%;min-width:0;padding:13px 16px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.nk-branch-option span{overflow-wrap:anywhere;flex:1}.nk-branch-option svg{flex-shrink:0}.nk-branch-option[aria-pressed=true]{color:#0e9f7e}.nk-branch-option:hover{background:#f8fafc}.nk-branch-option-row{border-top:1px solid #f3f4f6;align-items:center;padding-right:8px;display:flex}.nk-branch-option-row>.nk-branch-option{flex:1}.nk-branch-actions{gap:2px;display:flex}.nk-branch-actions a{color:#3b82f6;background:#eff6ff;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.nk-branch-actions a:last-child{color:#ef4444;background:#fef2f2}.nk-branch-add{color:#1e3a5f;border-top:1px solid #f3f4f6}.nk-branch-message{color:#64748b;padding:10px 16px;font-size:12px;line-height:1.5}@media (width>=900px){.nk-modal--branch{left:234px}}.nk-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:22px;display:flex}.nk-skeleton{gap:11px;padding:16px;display:grid}.nk-skeleton span{background:linear-gradient(100deg, var(--color-divider) 30%, color-mix(in srgb, var(--color-divider), transparent 35%) 50%, var(--color-divider) 70%);border-radius:var(--radius-sm);background-size:220% 100%;height:14px;animation:1.6s ease-in-out infinite nk-shimmer;display:block}.nk-skeleton span:last-child{width:65%}@keyframes nk-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (width<=40rem){.nk-modal--sheet{width:100%;max-width:100%;max-height:calc(92dvh - env(safe-area-inset-top));border-radius:var(--radius-modal) var(--radius-modal) 0 0;padding-bottom:env(safe-area-inset-bottom);margin:auto 0 0;animation-name:nk-sheet-enter}@keyframes nk-sheet-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
