@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap");*{box-sizing:border-box}:root{--bg:#f7f7f5;--panel:#ffffff;--border:#e3e3df;--text:#1c1c1a;--muted:#6b6b66;--accent:#2f6f4f;--accent-weak:#e7f1ea}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}.nav{display:flex;gap:20px;align-items:center;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--border)}.nav .brand{font-weight:700;letter-spacing:.5px}.nav a{color:var(--muted);font-weight:500}.nav a.active{color:var(--text)}.container{max-width:860px;margin:0 auto;padding:28px 24px 80px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px}label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600}input[type=text],textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff;color:var(--text)}textarea{resize:vertical}.toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.toolbar button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:5px 10px;cursor:pointer;font-size:13px}.toolbar button:hover{background:#f0f0ec}.editor{min-height:220px;border:1px solid var(--border);border-radius:8px;padding:12px 14px;background:#fff;outline:none}.editor:focus{border-color:var(--accent)}.editor:empty:before{content:attr(data-placeholder);color:#aaa}.btn{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;padding:9px 16px;font-weight:600;cursor:pointer;font-size:14px}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{background:#fff;color:var(--accent)}.row{margin-bottom:18px}.field-row{gap:12px}.field-row,.tags{display:flex;flex-wrap:wrap}.tags{gap:6px}.tag{background:var(--accent-weak);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.muted{color:var(--muted);font-size:13px}.actions{display:flex;gap:10px;align-items:center;margin-top:18px}.chat-log{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}.bubble{padding:12px 14px;border-radius:10px;max-width:85%;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:var(--accent-weak)}.bubble.assistant{align-self:flex-start;background:#fff;border:1px solid var(--border)}.bubble .save{margin-top:8px}.bubble .save button{font-size:12px;border:1px solid var(--border);background:#fff;border-radius:6px;padding:4px 9px;cursor:pointer}.chat-input{display:flex;gap:10px}.chat-input textarea{flex:1 1}.toast{margin-top:12px;font-size:13px;color:var(--accent)}.nav .logout{margin-left:auto}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px}.login-title{text-align:center;font-family:Open Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:30px;font-weight:700;text-transform:lowercase;letter-spacing:.5px;margin:0 0 22px}.login-card form{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 10px 30px rgba(0,0,0,.06)}.login-card .field{display:flex;flex-direction:column;gap:6px}.login-card .field label{margin:0}.login-card input{padding:10px 12px}.login-card .btn{width:100%;padding:11px;margin-top:4px}.login-error{color:#b3261e;font-size:13px;background:#fdecea;border:1px solid #f5c6c0;padding:8px 10px;border-radius:8px}.data-search{display:flex;gap:8px;margin-bottom:16px}.data-search input{flex:1 1}.grid{width:100%;border-collapse:collapse;font-size:14px}.grid td,.grid th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}.grid th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.grid tbody tr:hover{background:#fafaf8}.grid .muted-cell{color:var(--muted)}.badge{display:inline-block;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.badge.post{background:var(--accent-weak);color:var(--accent)}.badge.answer{background:#efe7f5;color:#6b3fa0}.pager{justify-content:space-between;margin-top:16px;flex-wrap:wrap}.pager,.pager-controls{display:flex;align-items:center;gap:12px}.pager-controls .btn{padding:6px 12px}.grid tbody tr{cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{background:var(--panel);border-radius:12px;width:100%;max-width:720px;max-height:85vh;overflow:auto;padding:26px 28px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal-close{position:absolute;top:10px;right:14px;border:none;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--muted)}.modal-title{margin:0 6px 8px 0;font-size:22px;padding-right:24px}.modal-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}.modal h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:18px 0 6px}.modal-body{line-height:1.6}.modal-body img{max-width:100%}