:root{--ink:#1d2320;--muted:#5b6660;--line:#cfd6d1;--panel:#f3f6f4;--bg:#e4e8e5;--green:#1f5a3a;--warn:#a3192b;color:var(--ink);background:var(--bg);font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:.35rem;padding:.4rem .7rem}button:hover{border-color:var(--green)}button.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}button:disabled{opacity:.5;cursor:default}.bar{border-bottom:2px solid var(--green);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.bar h1{color:var(--green);margin:0;font-size:1.15rem}.bar p{color:var(--muted);margin:.1rem 0 0;font-size:.8rem}.layout{grid-template-columns:22rem 1fr;align-items:start;gap:1rem;padding:1rem;display:grid}aside{flex-direction:column;gap:.75rem;display:flex}aside section{background:#fff;border-radius:.5rem;padding:.75rem}aside h2{text-transform:uppercase;letter-spacing:.04em;color:var(--green);margin:0 0 .5rem;font-size:.8rem}textarea{border:1px solid var(--line);resize:vertical;border-radius:.35rem;width:100%;height:14rem;padding:.5rem;font:.75rem/1.3 ui-monospace,monospace}.row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.row button,.row select,.row label{font-size:.8rem}.row select{flex:1;padding:.2rem;font-family:inherit}.status{color:var(--muted);min-height:1em;margin:.5rem 0 0;font-size:.8rem}.status.error{color:var(--warn)}.hint{color:var(--muted);margin:0 0 .5rem;font-size:.8rem}.check{align-items:flex-start;gap:.5rem;margin-bottom:.4rem;font-size:.85rem;display:flex}.check input{margin-top:.15rem}#warnings{border-left:4px solid var(--warn)}#warning-list{margin:0;padding-left:1.1rem;font-size:.82rem}#warning-list li{margin-bottom:.3rem}.doctrine{gap:.2rem;margin-bottom:.5rem;font-size:.85rem;display:grid}.doctrine select{font:inherit;padding:.25rem}main{min-width:0}#stage{background:#fff;border-radius:.5rem;position:relative;overflow:hidden}#sheet{transform-origin:0 0;border:0;width:297mm;height:210mm;display:block}.empty{text-align:center;color:var(--muted);margin:0;padding:4rem 1rem}.site{color:var(--muted);padding:0 1rem 1rem;font-size:.75rem}.site p{margin:.2rem 0}.site a{color:var(--green)}@media (width<=900px){.layout{grid-template-columns:1fr;padding:1rem}.bar{flex-wrap:wrap}}
