:root{--bg: #f5f6f8;--panel: #ffffff;--sidebar: #1c2333;--sidebar-hover: #2a3245;--sidebar-active: #3a4560;--sidebar-text: #c9cedb;--sidebar-text-dim: #8890a3;--border: #e2e4ea;--text: #1a1d24;--text-dim: #6b7280;--accent: #4f6bfe;--accent-hover: #3d57e0;--danger: #e0524a;--danger-hover: #c73f37;--ok: #2fa860;--radius: 8px;--shadow: 0 1px 3px rgba(20,22,30,.08), 0 1px 2px rgba(20,22,30,.06)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}button{font-family:inherit;cursor:pointer;border:none;border-radius:6px;padding:7px 12px;font-size:13px;font-weight:600;background:var(--panel);color:var(--text);border:1px solid var(--border)}button:hover{background:#f0f1f4}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{background:var(--accent-hover)}button.danger{background:transparent;color:var(--danger);border-color:transparent}button.danger:hover{background:#fdecea}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:14px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #c6d0ff;border-color:var(--accent)}label{font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:4px}.field{margin-bottom:14px}#app{display:flex;flex-direction:column;height:100vh}#topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}#topbar h1{font-size:16px;margin:0 14px 0 0;font-weight:800;letter-spacing:-.01em}#search{max-width:260px}.spacer{flex:1}#body{flex:1;display:flex;min-height:0}#sidebar{width:280px;background:var(--sidebar);color:var(--sidebar-text);overflow-y:auto;flex-shrink:0}.sb-section{padding:14px 10px 6px}.sb-heading{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-text-dim);padding:4px 10px;display:flex;justify-content:space-between;align-items:center}.sb-heading .add-btn{background:transparent;border:none;color:var(--sidebar-text-dim);font-size:16px;font-weight:700;padding:0 4px;line-height:1}.sb-heading .add-btn:hover{color:#fff}.sb-item{padding:8px 12px;border-radius:6px;margin:2px 4px;cursor:pointer}.sb-item:hover{background:var(--sidebar-hover)}.sb-item.active{background:var(--sidebar-active);color:#fff}.sb-item .name{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-item .sub{font-size:11.5px;color:var(--sidebar-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-empty{padding:8px 12px;font-size:12.5px;color:var(--sidebar-text-dim);font-style:italic}#main{flex:1;overflow-y:auto;padding:28px 36px}.welcome{max-width:480px;margin:60px auto;text-align:center;color:var(--text-dim)}.welcome h2{color:var(--text)}.welcome .actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:12px}.detail-header .title-input{font-size:24px;font-weight:800;border:1px solid transparent;padding:4px 6px;margin-left:-6px;border-radius:6px}.detail-header .title-input:hover{border-color:var(--border)}.detail-header .badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:#eef0ff;padding:3px 8px;border-radius:20px;margin-bottom:6px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.card h3{margin:0 0 14px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.contact-row,.link-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;cursor:pointer}.contact-row:hover,.link-row:hover{background:#f4f5f8}.contact-row .name{font-weight:600;font-size:13.5px}.contact-row .sub{font-size:12px;color:var(--text-dim)}.note{padding:12px 0;border-bottom:1px solid var(--border)}.note:last-child{border-bottom:none}.note .meta{font-size:11.5px;color:var(--text-dim);margin-bottom:4px;display:flex;justify-content:space-between}.note .text{font-size:13.5px;white-space:pre-wrap;line-height:1.5}.note .del{background:none;border:none;color:var(--text-dim);font-size:11px;padding:0}.note .del:hover{color:var(--danger)}#noteInput,textarea{min-height:64px;resize:vertical;margin-bottom:8px}.empty-hint{font-size:13px;color:var(--text-dim);font-style:italic;padding:6px 0}.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;margin-right:6px;vertical-align:middle}.view-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-right:10px}.view-btn{border:none;border-radius:0;background:var(--panel);padding:7px 12px}.view-btn:hover{background:#f0f1f4}.view-btn.active{background:var(--accent);color:#fff}.board{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;align-items:flex-start}.board-col{flex:0 0 270px;background:#eceef2;border-radius:var(--radius);padding:10px}.board-col-header{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;font-size:12.5px;font-weight:700;color:var(--text)}.board-col-header .status-dot{width:9px;height:9px}.board-col-header .count{color:var(--text-dim);font-weight:600}.board-card{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:8px;cursor:pointer;box-shadow:var(--shadow)}.board-card:hover{border-color:var(--accent)}.board-card .name{font-size:13.5px;font-weight:600;margin-bottom:3px}.board-card .sub{font-size:11.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.board-col-empty{font-size:12px;color:var(--text-dim);font-style:italic;padding:4px 6px}.boot{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-dim);font-size:14px}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.login-card{width:320px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.login-card h1{margin:0 0 20px;font-size:20px;font-weight:800}.login-card button{width:100%;margin-top:4px}.login-error{color:var(--danger);font-size:13px;margin-bottom:12px}.import-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;font-size:13px;border-bottom:1px solid var(--border)}.import-banner.success{background:#e2f6ea;color:#1c7a44}.import-banner.error{background:#fdecea;color:var(--danger)}.import-banner-close{background:transparent;border:none;font-size:16px;line-height:1;padding:0 4px;color:inherit}.import-banner-close:hover{opacity:.7;background:transparent}
