:root{font:13px/1.4 system-ui,Segoe UI,sans-serif;color:#212529;--line: #ced4da;--accent: #1c7ed6}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}.app{display:grid;grid-template:auto 1fr / 230px 1fr 340px;grid-template-areas:"head head head" "left main right";height:100%}header{grid-area:head;display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--line);background:#f8f9fa}header .project{margin:0 12px 0 4px;color:#495057}header .gap{width:14px}.message{margin-left:auto;padding:3px 10px;border-radius:4px;background:#ffe3e3;color:#c92a2a;cursor:pointer}aside{overflow:auto;padding:8px 10px;background:#f8f9fa}.left{grid-area:left;border-right:1px solid var(--line)}.right{grid-area:right;border-left:1px solid var(--line)}main{grid-area:main;position:relative;min-width:0;min-height:0}.sheet{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.empty{padding:40px;color:#868e96}h3{margin:12px 0 6px;font-size:13px}h3:first-child{margin-top:2px}h4{margin:14px 0 4px;font-size:12px;color:#495057}button,select,input{font:inherit}button{padding:3px 9px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{color:#adb5bd;cursor:default}button.on{border-color:var(--accent);background:#e7f5ff}.pages{margin:0 0 6px;padding:0;list-style:none}.pages li{display:flex;align-items:center;gap:2px;padding:2px 4px;border-radius:4px;cursor:pointer}.pages li.on{background:#d0ebff}.pages li span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pages li button{padding:0 5px}.palette{display:grid;gap:3px;margin-bottom:8px}.palette button{text-align:left}.field{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:6px;margin:4px 0}.field input,.field select,aside select{width:100%;min-width:0;padding:3px 6px;border:1px solid var(--line);border-radius:4px}.right nav{display:flex;gap:4px;margin-bottom:8px}.plain{margin:0 0 6px;padding:0;list-style:none}.plain li{display:flex;align-items:baseline;gap:8px;padding:2px 0}.plain li span{flex:1}.plain li.free{color:#868e96}.plain li.excess{color:#c92a2a}small{color:#868e96}a{color:#0645ad;cursor:pointer}a:hover{text-decoration:underline}table{width:100%;margin-bottom:8px;border-collapse:collapse}th,td{padding:3px 4px;border-bottom:1px solid #e9ecef;text-align:left;vertical-align:top}.hint{margin-top:14px;color:#868e96}section>button{margin-top:10px}.right nav{flex-wrap:wrap}.overlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:#00000059}.dialog{width:min(640px,92vw);max-height:90vh;overflow:auto;padding:16px 20px;border-radius:8px;background:#fff;box-shadow:0 10px 40px #0000004d}.dialog .mapping{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.skipped{color:#c92a2a}.account{display:flex;align-items:center;gap:6px;margin-left:auto}.message+.account{margin-left:8px}.cloud{color:#2b8a3e}.cloud.dirty,.cloud.saving{color:#868e96}.cloud.conflict,.cloud.error{color:#c92a2a}.palette-row{display:grid;grid-template-columns:1fr auto;gap:3px}.dialog.wide{width:min(620px,96vw)}.symbol-form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.tools{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0 6px}.symbol-canvas{display:block;border:1px solid var(--line);border-radius:4px;cursor:crosshair;touch-action:none}.actions .left{margin-right:auto}.status{min-height:1.4em;margin:6px 0 0}.dialog{align-self:start;margin-top:5vh}.filter{width:100%;margin-bottom:6px;padding:3px 6px;border:1px solid var(--line);border-radius:4px}.palette details{margin-bottom:2px}.palette summary{padding:3px 2px;cursor:pointer;font-weight:600;color:#495057}.palette details>div{margin:0 0 3px 10px}.dialog.browser{display:grid;grid-template:auto 1fr auto / 250px 1fr 300px;grid-template-areas:"head head head" "tree hits detail" "foot foot foot";gap:0 14px;width:min(1240px,96vw);height:86vh;max-height:86vh;overflow:hidden}.browser>header{grid-area:head;display:flex;align-items:center;gap:8px;margin:-16px -20px 10px;padding:10px 20px}.browser>header h3{margin:0 8px 0 0}.browser>header nav{display:flex;gap:4px}.browser>header input{flex:1;padding:5px 8px;border:1px solid var(--line);border-radius:4px}.browser>header select{padding:4px 6px;border:1px solid var(--line);border-radius:4px}.tree{grid-area:tree;overflow:auto;margin:0;padding:0;list-style:none}.tree ul{margin:0;padding:0 0 4px 14px;list-style:none}.tree li:not(.branch),.tree .branch>div{display:flex;justify-content:space-between;gap:6px;padding:2px 6px;border-radius:4px;cursor:pointer}.tree .branch>div{font-weight:600}.tree .on{background:#d0ebff}.tree .none{color:#adb5bd}.hits{grid-area:hits;overflow:auto;min-width:0}.hits thead th{position:sticky;top:0;background:#fff}.hits tbody tr{cursor:pointer}.hits tbody tr:hover{background:#f1f3f5}.hits tbody tr.on{background:#d0ebff}.detail{grid-area:detail;overflow:auto;padding:0 0 0 14px;border-left:1px solid var(--line);background:none}.detail h4:first-child{margin-top:0;font-size:13px;color:inherit}.detail .choose{display:grid;gap:6px;margin-top:12px}.browser>footer{grid-area:foot;margin-top:8px}.assistant{position:absolute;left:50%;bottom:14px;z-index:5;width:min(780px,calc(100% - 40px));transform:translate(-50%);border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 6px 24px #0000002e}.assistant .ask{display:flex;gap:8px;align-items:stretch;padding:8px}.assistant textarea{flex:1;resize:none;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:inherit}.assistant textarea:disabled{background:#f1f3f5}.assistant .proposal{max-height:38vh;overflow:auto;padding:10px 12px 0;border-bottom:1px solid var(--line)}.assistant .proposal p{margin:0 0 8px;white-space:pre-wrap}.assistant .proposal .actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 10px}.assistant .proposal small{margin-right:auto}
