/* DocStudio — lean app styles on top of helaplus.css */
:root { --ds-bg:#f2f5f4; --ds-ink:#1f2937; --ds-muted:#6b7280; --ds-line:#e5e7eb; --ds-acc:#14532d; }
body { background: var(--ds-bg); }
.topbar { display:flex; align-items:center; gap:12px; background:var(--ds-acc); color:#fff; padding:10px 20px; }
.topbar .brand { font-weight:800; font-size:16px; letter-spacing:.02em; }
.topbar a { color:#d1fae5; text-decoration:none; font-size:13px; }
.topbar form { margin-left:auto; }
.topbar button { background:none;border:1px solid #ffffff55;color:#fff;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:12px; }
.wrap { max-width:1200px; margin:0 auto; padding:24px 20px; }
.hp-card { background:#fff;border:1px solid var(--ds-line);border-radius:10px; }
.hp-card-header { padding:12px 16px;border-bottom:1px solid var(--ds-line);display:flex;justify-content:space-between;align-items:center; }
.hp-card-title { font-weight:700;font-size:14px; }
.hp-card-body { padding:16px; }
.hp-btn { display:inline-block;border:none;border-radius:8px;padding:9px 18px;font-weight:600;font-size:13px;cursor:pointer;text-decoration:none; }
.hp-btn-primary { background:var(--ds-acc);color:#fff; }
.hp-btn-outline { background:#fff;border:1px solid var(--ds-line);color:var(--ds-ink); }
.hp-btn-sm { padding:6px 12px;font-size:12px; }
.hp-input, .hp-select, .hp-textarea { width:100%;border:1px solid var(--ds-line);border-radius:8px;padding:8px 10px;font-size:13px; }
.hp-hint { color:var(--ds-muted);font-size:12px; }
.hp-label { display:block;font-size:12px;font-weight:600;color:var(--ds-muted);margin-bottom:4px; }
.hp-form-group { margin-bottom:10px; }

/* library grid */
.doc-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px; }
.doc-tile { background:#fff;border:1px solid var(--ds-line);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--ds-ink);display:flex;flex-direction:column; }
.doc-tile:hover { box-shadow:0 6px 18px rgba(0,0,0,.08);border-color:var(--ds-acc); }
.doc-thumb { height:140px;background:#f8fafc;border-bottom:1px solid var(--ds-line);padding:10px;font-size:9px;color:#94a3b8;overflow:hidden;white-space:pre-wrap; }
.doc-meta { padding:10px 12px; }
.doc-meta b { font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.doc-meta small { color:var(--ds-muted);font-size:11px; }

/* workbench: doc left, chat right */
.wb { display:grid;grid-template-columns:1fr 360px;gap:16px;height:calc(100vh - 60px);padding:16px 20px; }
.wb-doc { overflow:auto; }
.doc-page { background:#fff;border-radius:4px;box-shadow:0 3px 18px rgba(15,40,32,.12);width:794px;min-height:1123px;padding:60px 68px;margin:0 auto 16px;font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.7; }
.doc-page:focus { outline:2px solid #05966944; }
.doc-frame { width:100%;height:82vh;border:none;border-radius:4px;background:#fff; }
.docx-viewer { background:#fff;border-radius:4px;overflow:auto;max-height:82vh; }
.wb-chat { background:#fff;border:1px solid var(--ds-line);border-radius:10px;display:flex;flex-direction:column;overflow:hidden; }
.chat-log { flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px; }
.chat-msg { max-width:92%;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.5; }
.chat-msg.user { background:var(--ds-acc);color:#fff;align-self:flex-end;border-bottom-right-radius:2px; }
.chat-msg.ai { background:#f3f4f6;align-self:flex-start;border-bottom-left-radius:2px; }
.chat-changes { background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px;margin-top:8px;font-size:12px; }
.chat-changes table { width:100%;font-size:12px;border-collapse:collapse; }
.chat-changes td, .chat-changes th { padding:4px 6px;border-bottom:1px solid #fde68a;text-align:left;vertical-align:top; }
.chat-form { border-top:1px solid var(--ds-line);padding:10px;display:flex;gap:8px; }
.chat-form input { flex:1;border:1px solid var(--ds-line);border-radius:999px;padding:9px 14px;font-size:13px; }
.chat-form button { border:none;background:var(--ds-acc);color:#fff;border-radius:999px;width:38px;height:38px;cursor:pointer; }
.login-card { max-width:400px;margin:12vh auto; }
