:root{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--gray-50:oklch(98.5% 0 0);--gray-100:oklch(96.5% 0 0);--gray-200:oklch(92.5% 0 0);--gray-300:oklch(87% 0 0);--gray-400:oklch(70% 0 0);--gray-500:oklch(55% 0 0);--gray-600:oklch(45% 0 0);--gray-700:oklch(37% 0 0);--gray-800:oklch(27% 0 0);--gray-900:oklch(20% 0 0);--gray-950:oklch(14% 0 0);--brand-500:oklch(55% .2 260);--brand-600:oklch(48% .2 260);--clr-bg:var(--gray-50);--clr-surface:#fff;--clr-text:var(--gray-900);--clr-text-muted:var(--gray-500);--clr-border:var(--gray-200);--clr-border-hover:var(--gray-300);--clr-primary:var(--brand-500);--clr-primary-hover:var(--brand-600);--clr-primary-text:#fff;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 2px oklch(0% 0 0/.05);--shadow-md:0 2px 4px oklch(0% 0 0/.06), 0 1px 2px oklch(0% 0 0/.04);--shadow-lg:0 4px 12px oklch(0% 0 0/.08), 0 2px 4px oklch(0% 0 0/.04)}*,:before,:after{box-sizing:border-box;margin:0}html{font-family:var(--font-sans);color:var(--clr-text);background:var(--clr-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;line-height:1.5}button{all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}a{color:inherit;text-decoration:none}.btn{border-radius:var(--radius-md);padding:6px 12px;font-size:14px;font-weight:500;transition:background-color .15s,box-shadow .15s}.btn.btn-primary{background:var(--clr-primary);color:var(--clr-primary-text)}.btn.btn-primary:hover{background:var(--clr-primary-hover)}.btn.btn-secondary{background:var(--clr-surface);color:var(--clr-text);box-shadow:inset 0 0 0 1px var(--clr-border)}.btn.btn-secondary:hover{background:var(--gray-100)}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--clr-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:12px;padding:48px;display:flex}.login-title{font-size:24px;font-weight:700}.login-subtitle{color:var(--clr-text-muted);font-size:14px}.login-btn{margin-top:12px;padding:10px 24px}.boards-page{max-width:720px;margin:0 auto;padding:48px 24px}.boards-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.boards-header h1{font-size:24px;font-weight:700}.boards-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.board-card{background:var(--clr-surface);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--clr-border);cursor:pointer;flex-direction:column;gap:4px;padding:16px;text-decoration:none;transition:box-shadow .15s,background-color .15s;display:flex}.board-card:hover{box-shadow:inset 0 0 0 1px var(--clr-border-hover);background:var(--gray-50)}.board-card .board-card-name{font-size:15px;font-weight:600}.board-card .board-card-desc{color:var(--clr-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.board-card-empty{background:var(--clr-surface);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px dashed var(--clr-border);border:1px dashed var(--clr-border);color:var(--clr-text-muted);cursor:pointer;justify-content:center;align-items:center;padding:24px 16px;font-size:14px;transition:border-color .15s,color .15s;display:flex}.board-card-empty:hover{border-color:var(--clr-border-hover);color:var(--clr-text)}.dialog-overlay{z-index:100;background:oklch(0% 0 0/.4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--clr-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;width:400px;max-width:calc(100vw - 48px);padding:24px;display:flex}.dialog h2{font-size:18px;font-weight:600}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--clr-text-muted);font-size:13px;font-weight:500}.form-field input,.form-field textarea{border:1px solid var(--clr-border);border-radius:var(--radius-md);background:0 0;outline:none;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .15s}:is(.form-field input,.form-field textarea):focus{border-color:var(--clr-primary)}.form-field textarea{resize:vertical;min-height:64px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.empty-state{text-align:center;color:var(--clr-text-muted);padding:64px 24px}.empty-state p{margin-bottom:16px}
