/* Notr component CSS -- token-driven, no framework. Load after tokens.css. */

/* Button */
.ntr-btn{font-family:var(--font-sans);font-size:14px;font-weight:700;border-radius:var(--radius-md);padding:11px 16px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s;}
.ntr-btn--block{width:100%;display:flex;}
.ntr-btn--compact{padding:7px 14px;font-size:13px;border-radius:var(--radius-sm);}
.ntr-btn--primary{background:var(--accent);color:var(--on-accent);}
.ntr-btn--primary:hover{background:var(--accent-hover);}
.ntr-btn--secondary{background:var(--surface-2);color:var(--text-primary);border-color:var(--border);}
.ntr-btn--secondary:hover{border-color:var(--border-hover);}
.ntr-btn--outline{background:transparent;color:var(--text-muted-strong);border-color:var(--border);}
.ntr-btn--outline:hover{color:var(--text-primary);border-color:var(--border-hover);}
.ntr-btn--text{background:transparent;color:var(--text-muted-strong);border:none;padding:6px 0;}
.ntr-btn--text:hover{color:var(--text-primary);}
.ntr-btn[disabled]{background:var(--surface-2);color:var(--text-muted);border-color:var(--border);cursor:not-allowed;}

/* Icon button + back button */
.ntr-icon-btn{width:34px;height:34px;border-radius:var(--radius-circle-icon);background:transparent;border:1px solid var(--border);color:var(--text-muted-strong);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;}
.ntr-icon-btn:hover{border-color:var(--border-hover);color:var(--text-primary);}
.ntr-back-btn{background:none;border:none;color:var(--text-primary);font-size:22px;cursor:pointer;padding:0;line-height:1;}

/* FAB */
.ntr-fab{width:54px;height:54px;border-radius:var(--radius-circle-fab);background:var(--accent);border:none;color:var(--on-accent);font-size:26px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--fab);}
.ntr-fab:hover{background:var(--accent-hover);}

/* Chip */
.ntr-chip{font-family:var(--font-sans);font-size:13px;font-weight:600;padding:7px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted-strong);cursor:pointer;white-space:nowrap;}
.ntr-chip:hover{border-color:var(--border-hover);}
.ntr-chip--active{background:var(--accent-tint);border-color:var(--accent-tint-border);color:var(--accent-text);}

/* Tag pill */
.ntr-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-tag);background:var(--surface-2);color:var(--text-muted-strong);display:inline-block;}
.ntr-tag--unassigned{background:transparent;color:#5b6068;border:1px dashed var(--border-hover);}

/* Badge */
.ntr-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted-strong);display:inline-block;}
.ntr-badge--confirmed{background:var(--accent-tint);color:var(--accent-text);}
.ntr-badge--rejected{background:var(--surface-2);color:var(--text-muted);}
.ntr-badge--source{font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted-strong);}

/* Card */
.ntr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);}
.ntr-card--lg{border-radius:var(--radius-lg);padding:15px 16px;}
.ntr-card--selected{border-color:var(--accent-tint-border);}

/* Checkbox */
.ntr-checkbox{width:18px;height:18px;border-radius:4px;border:1.6px solid var(--border-hover);background:transparent;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--on-accent);flex:none;}
.ntr-checkbox--checked{border-color:var(--accent);background:var(--accent);}

/* Text field */
.ntr-field{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.5;outline:none;box-sizing:border-box;}
.ntr-field::placeholder{color:var(--text-muted-strong);}
.ntr-field:focus{border-color:var(--border-hover);}
.ntr-field--mono{font-family:'SFMono-Regular',Menlo,Consolas,monospace;}
.ntr-field--textarea{min-height:160px;resize:vertical;}

/* Switch */
.ntr-switch{width:44px;height:26px;border-radius:13px;border:none;cursor:pointer;position:relative;background:var(--border);padding:0;flex:none;}
.ntr-switch--on{background:var(--accent);}
.ntr-switch__knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--on-accent);transition:left .15s;}
.ntr-switch--on .ntr-switch__knob{left:21px;}

/* Tab bar */
.ntr-tabbar{display:flex;border-top:1px solid var(--border);background:var(--surface);}
.ntr-tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 8px;background:none;border:none;color:var(--text-muted-strong);font-size:11px;font-weight:600;cursor:pointer;}
.ntr-tabbar__item--active{color:var(--accent);}

/* Bottom sheet */
.ntr-sheet{background:var(--surface);border:1px solid var(--border);border-radius:18px 18px 0 0;padding:12px 20px 24px;}
.ntr-sheet__handle{width:36px;height:4px;border-radius:2px;background:var(--border-hover);margin:0 auto 16px;}

/* Bottom action bar */
.ntr-actionbar{background:var(--surface);border-top:1px solid var(--border);padding:14px 20px 22px;display:flex;align-items:center;gap:10px;}

/* Audio player */
.ntr-audio{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);}
.ntr-audio__play{width:38px;height:38px;border-radius:50%;background:var(--accent);border:none;flex:none;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.ntr-audio__track{flex:1;height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden;}
.ntr-audio__fill{height:100%;background:var(--accent);}

/* Proposal card (decision review) */
.ntr-proposal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:15px 16px;}
.ntr-proposal--confirmed{border-color:var(--accent-tint-border);}
.ntr-proposal--rejected{opacity:.5;}
.ntr-proposal__diff-current{text-decoration:line-through;color:var(--text-muted-strong);}
.ntr-proposal__diff-proposed{color:var(--accent-text);font-weight:700;}
