:root{--ink:#243c3a;--ink-soft:#5d6966;--paper:#fbf8f4;--petal:#f7efe9;--rose:#9f6d62;--rose-dark:#744d48;--gold:#d8b86a;--sage:#b9c7b4;--line:rgba(36,60,58,0.14);--panel:rgba(255,255,255,0.62);--panel-strong:rgba(255,255,255,0.84);--shadow:0 24px 70px rgba(87,61,50,0.13);--radius:8px}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;color:var(--ink);background:linear-gradient(145deg,var(--paper),#edf2ec);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.56}a{color:inherit;text-decoration:none}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2{font-family:Playfair Display,Georgia,serif;line-height:1.08}h3{margin:0;font-size:18px}.eyebrow{display:block;margin:0 0 6px;color:var(--rose-dark);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.app-shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:30px 22px;border-right:1px solid rgba(255,255,255,.72);background:rgba(247,239,233,.7);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;gap:14px;align-items:center;margin-bottom:34px}.avatar{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;color:#fff;background:var(--ink);box-shadow:0 12px 28px rgba(36,60,58,.18);font-family:Playfair Display,Georgia,serif;font-weight:700}.brand h1{margin:0;font-size:23px}.brand p{margin:3px 0 0;color:var(--ink-soft);font-size:12px}.nav{display:grid;grid-gap:8px;gap:8px}.nav a{display:flex;min-height:44px;align-items:center;gap:11px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius);color:var(--ink-soft);font-size:14px;font-weight:700}.nav a.active,.nav a:hover{border-color:rgba(255,255,255,.72);color:var(--ink);background:rgba(255,255,255,.68);box-shadow:0 12px 30px rgba(87,61,50,.09)}.workspace{min-width:0;padding:34px clamp(22px,4vw,54px) 54px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--line)}.topbar h2{margin:0;font-size:clamp(30px,4vw,46px)}.topbar p{margin:6px 0 0;color:var(--ink-soft);font-size:14px}.panel{padding:22px;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.grid{display:grid;grid-gap:18px;gap:18px}.grid.two{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)}.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:1px solid var(--ink);border-radius:999px;color:#fff;background:var(--ink);font-size:13px;font-weight:800}.button:hover{background:#172b29}.button.secondary{border-color:var(--line);color:var(--ink);background:rgba(255,255,255,.86)}.button.secondary:hover{border-color:var(--rose);background:#fff}.button.danger{border-color:var(--rose-dark);background:var(--rose-dark)}.icon-button{display:inline-grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:rgba(255,255,255,.86)}.icon-button:hover{border-color:var(--rose);color:var(--rose-dark)}.field{display:grid;grid-gap:8px;gap:8px}.field-editor{padding:18px 0;border-top:1px solid var(--line)}.field-editor:first-of-type{border-top:0}.field label,.field>span{color:var(--ink-soft);font-size:12px;font-weight:800}.input,.select,.textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);outline:0;color:var(--ink);background:rgba(255,255,255,.82)}.input:focus,.select:focus,.textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(159,109,98,.12)}.textarea{min-height:88px;resize:vertical}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:13px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{color:var(--ink-soft);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.table tbody tr:hover{background:rgba(247,239,233,.4)}.badge{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid rgba(185,199,180,.7);border-radius:999px;color:var(--ink);background:rgba(185,199,180,.44);font-size:11px;font-weight:800}.badge.yellow{border-color:rgba(216,184,106,.58);color:#6f5925;background:rgba(216,184,106,.24)}.badge.red{border-color:rgba(159,109,98,.48);color:var(--rose-dark);background:rgba(247,239,233,.86)}.chat-page{min-height:100vh;padding:clamp(18px,4vw,48px)}.chat-shell{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,760px);grid-gap:20px;gap:20px;width:min(1120px,100%);margin:0 auto}.chat-shell>aside{align-self:start;background:rgba(247,239,233,.72)}.chat-shell>main{background:var(--panel-strong)}.chat-shell .brand h1{font-size:25px}.messages{display:flex;flex-direction:column;gap:12px;min-height:430px;max-height:64vh;overflow:auto;padding:4px 4px 8px;scrollbar-color:var(--sage) transparent}.message{max-width:min(82%,590px);padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);line-height:1.5;white-space:pre-wrap}.message.assistant{align-self:flex-start;color:var(--ink);background:var(--petal)}.message.user{align-self:flex-end;border-color:var(--ink);color:#fff;background:var(--ink)}.composer{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.composer input{flex:1 1}.stack{display:grid;grid-gap:14px;gap:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--ink-soft)}.error{color:var(--rose-dark);font-weight:700}@media (max-width:900px){.app-shell,.chat-shell,.grid.two{grid-template-columns:1fr}.sidebar{position:static;width:100%;height:auto;padding:20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.72)}.sidebar .brand{margin-bottom:18px}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.nav a{justify-content:center;padding:0 10px}.chat-page,.workspace{padding:18px}}@media (max-width:620px){.topbar h2{font-size:32px}.panel{padding:16px}.nav a{font-size:0}.nav a svg{width:20px;height:20px}.table{display:block;overflow-x:auto}.composer{align-items:stretch}.composer .button{width:44px;padding:0;font-size:0}.message{max-width:92%}}