:root {
  --tc-bg: var(--bg);
  --tc-surface: var(--bg);
  --tc-surface-2: var(--surface);
  --tc-border: var(--line);
  --tc-border-strong: var(--line);
  --tc-primary: var(--accent);
  --tc-primary-soft: var(--accent);
  --tc-primary-tonal: var(--accent-soft);
  --tc-primary-text: var(--accent);
  --tc-accent: var(--accent);
  --tc-accent-light: var(--line);
  --tc-text-primary: var(--ink);
  --tc-text-secondary: var(--muted);
  --tc-text-hint: var(--muted);
  --tc-success: var(--success);
  --tc-success-tonal: var(--success-soft);
  --tc-error: var(--error);
  --tc-error-tonal: var(--error-soft);
  --tc-info: var(--muted);
  --tc-info-tonal: var(--surface);
  --font-body: var(--font);
  --font-display: var(--font);
}
[v-cloak] { display:none; }
.v-application, .v-main { background:var(--bg) !important; color:var(--ink) !important; font-family:var(--font) !important; }
.page-container { max-width:1216px !important; padding:54px 48px 65px !important; }
.main-card { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; overflow:visible !important; }
.app-header { padding:0 0 27px !important; border-bottom:1px solid var(--line); white-space:normal !important; overflow:visible !important; }
.header-top { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:25px; }
.site-title { font:500 clamp(36px,5vw,62px)/1.1 var(--font) !important; letter-spacing:-.05em; color:var(--ink); margin:0; }
.site-title em { font-style:normal; color:var(--accent-display); }
.header-nav { display:flex; gap:8px; align-items:center; }
.nav-btn { color:var(--muted) !important; font-family:var(--font) !important; text-transform:none !important; font-size:14px !important; letter-spacing:0 !important; border-radius:4px !important; min-height:44px !important; }
.nav-btn.active, .nav-btn:hover { background:var(--accent-soft) !important; color:var(--accent) !important; }
.page-subtitle { padding:0 !important; margin-top:25px; font:10px/1.7 var(--mono); color:var(--accent); text-transform:uppercase; letter-spacing:.06em; }
.card-content { padding:25px 0 0 !important; }
.selection-badge { display:inline-flex; gap:8px; align-items:center; color:var(--accent); background:var(--accent-soft); padding:7px 12px; border-radius:4px; font-size:13px; margin-bottom:22px; }
.badge-count { font-weight:600; }
.item-card { background:var(--bg) !important; color:var(--ink) !important; border:1px solid var(--line) !important; border-radius:6px !important; box-shadow:none !important; height:100%; display:flex; flex-direction:column; }
.item-card:hover { border-color:var(--accent) !important; }
.item-card.is-selected { border-color:var(--accent) !important; background:var(--accent-soft) !important; }
.item-name { font:500 23px/1.25 var(--font) !important; letter-spacing:-.025em; color:var(--ink) !important; white-space:normal !important; overflow-wrap:anywhere; }
.item-added-by { font-size:12px !important; color:var(--muted) !important; opacity:1 !important; white-space:normal !important; }
.item-description { font:15px/1.75 var(--font) !important; color:var(--muted) !important; overflow-wrap:anywhere; }
.commitment-chip { display:inline-block; font-size:11px; line-height:1.7; padding:4px 8px; border-radius:4px; overflow-wrap:anywhere; }
.commitment-chip.committed { color:var(--success); background:var(--success-soft); }
.commitment-chip.uncommitted { color:var(--muted); background:var(--surface); border:1px solid var(--line); }
.item-actions { padding:10px 12px 13px !important; margin-top:auto; flex-wrap:wrap; gap:8px !important; }
.view-link-btn, .select-btn { min-height:44px !important; font:500 13px var(--font) !important; letter-spacing:0 !important; text-transform:none !important; border-radius:4px !important; }
.view-link-btn { color:var(--accent) !important; padding-inline:8px !important; }
.select-btn.unselected { color:var(--accent) !important; }
.select-btn.selected { background:var(--accent) !important; color:var(--bg) !important; }
.tc-divider { border-color:var(--line) !important; opacity:1 !important; margin:30px 0 !important; }
.tc-alert { border-radius:4px; font-size:14px; line-height:1.7; border-left:3px solid; }
.tc-alert.info { background:var(--accent-soft); color:var(--accent); }
.tc-alert.success { background:var(--success-soft); color:var(--success); }
.tc-alert.error { background:var(--error-soft); color:var(--error); }
.v-field { border-radius:4px !important; font-family:var(--font) !important; color:var(--muted) !important; }
.v-field__input { color:var(--ink) !important; font-family:var(--font) !important; font-size:16px !important; }
.v-label { color:var(--muted) !important; font-family:var(--font) !important; opacity:1 !important; font-size:14px !important; }
.v-field--focused { color:var(--accent) !important; }
.form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.btn-save, .btn-secondary, .btn-danger { min-height:44px !important; font:500 13px var(--font) !important; border-radius:4px !important; letter-spacing:0 !important; text-transform:none !important; box-shadow:none !important; }
.btn-save { background:var(--accent) !important; color:var(--bg) !important; }
.btn-secondary { background:var(--accent-soft) !important; color:var(--accent) !important; }
.btn-danger { background:transparent !important; color:var(--error) !important; border-color:var(--line) !important; }
.privacy-note { display:flex; align-items:start; gap:10px; padding:16px; background:var(--surface); color:var(--muted); border-radius:4px; font-size:13px; line-height:1.7; margin-bottom:24px; }
.privacy-note .mdi { color:var(--accent); flex-shrink:0; }
.admin-badge { display:inline-flex; gap:7px; align-items:center; color:var(--accent); background:var(--accent-soft); font-size:12px; padding:7px 12px; border-radius:4px; margin-bottom:25px; }
.loading-wrap { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; padding:65px 0; color:var(--muted); font-size:14px; }
.v-btn:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:1000px) { .page-container { padding-inline:32px !important; } }
@media(max-width:760px) { .page-container { padding:38px 20px 50px !important; } .header-top { align-items:start; gap:22px; } .site-title { font-size:42px !important; } }
@media(max-width:599px) { .header-top { flex-direction:column; } .item-name { font-size:23px !important; } .form-actions { width:100%; } .form-actions .v-btn { flex:1; min-width:70px; } }
@media(max-width:360px) { .page-container { padding-inline:16px !important; } .site-title { font-size:37px !important; } }
