:root{--green:#1d4a3e;--ink:#233d35;--muted:#78847a;--line:#dfe5dc;--paper:#f5f6f0;--gold:#d5a65a;--red:#aa4737}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-color:var(--green)}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:white;color:var(--ink);font-weight:600}button:hover{background:#edf2e9}button.primary{background:var(--green);border-color:var(--green);color:white}button:disabled{opacity:.5;cursor:wait}a{color:var(--green)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid var(--line);padding:32px 20px;position:sticky;top:0;height:100vh}.brand{font-size:25px;letter-spacing:-1px;font-weight:750;margin:0 10px 34px}.brand small{display:block;font-size:10px;font-weight:600;letter-spacing:3px;color:var(--muted);margin-top:2px}.brand span{color:var(--gold)}nav button{display:block;border:0;width:100%;text-align:left;background:transparent;margin:5px 0;padding:12px 15px;font-weight:500}nav button.active{background:#eaf0e6;color:var(--green);font-weight:700}.aside-bottom{position:absolute;bottom:28px;font-size:12px;color:var(--muted);left:30px}main{max-width:1500px;padding:30px 44px 80px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px;color:var(--muted);font-size:12px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.2;margin:0 0 8px}h2{font-size:20px;letter-spacing:-.4px;margin:0 0 18px}h3{font-size:15px;margin:0 0 12px}p{margin:8px 0 16px}.muted{color:var(--muted)}.eyebrow{letter-spacing:2px;font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{border:1px solid var(--line);border-radius:14px;background:white;padding:24px;margin-bottom:20px}.hero{background:var(--green);color:#fff;padding:32px;display:flex;justify-content:space-between;gap:30px}.hero p{max-width:630px;color:#d7e2d8}.hero .eyebrow{color:#c4d3c5}.hero h2{font-size:26px}.hero button{align-self:center;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.stat strong{font-size:32px;font-weight:500;display:block}.stat span{font-size:12px;color:var(--muted)}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.span2{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600;margin-bottom:14px}input,textarea,select{display:block;width:100%;border:1px solid #d4ddd2;border-radius:7px;padding:10px 12px;background:#fff;color:var(--ink);margin-top:6px;font-weight:400}textarea{min-height:88px;resize:vertical}input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0;accent-color:var(--green)}.check{display:flex;align-items:flex-start;gap:4px}.check input{margin-top:3px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:13px 12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid #edf0e9;vertical-align:middle}tr:last-child td{border-bottom:0}td button{padding:6px 12px;font-size:12px}.badge{display:inline-block;padding:4px 9px;font-size:11px;border-radius:20px;background:#eef1e8;color:#456044}.badge.draft{background:#fff3da;color:#886222}.badge.bad{background:#fae7e2;color:var(--red)}.notice{padding:14px 18px;border-radius:8px;background:#fff6e5;color:#775620;margin:14px 0;font-size:13px}.notice.good{background:#eaf2e7;color:var(--green)}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.toolbar{display:flex;gap:12px;margin-bottom:20px;align-items:center}.toolbar input{margin:0;max-width:420px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tabs button{border-radius:24px;font-size:12px}.tabs .active{background:var(--green);color:white}.savebar{position:sticky;bottom:12px;background:#fff;padding:15px 20px;border:1px solid var(--line);border-radius:10px;box-shadow:0 5px 25px #20332612;display:flex;justify-content:space-between;gap:12px;z-index:2}.small{font-size:12px}.source{width:100%;height:650px;border:1px solid var(--line);border-radius:8px}.login{max-width:540px;margin:8vh auto;padding:20px}.login .brand{margin-left:0}#toast{position:fixed;right:25px;bottom:25px;max-width:550px;background:var(--ink);color:white;padding:15px 22px;border-radius:9px;display:none;z-index:20;box-shadow:0 4px 20px #0002}#toast.error{background:var(--red)}dialog{border:0;border-radius:16px;width:min(850px,95vw);max-height:90vh;padding:30px;color:var(--ink)}dialog::backdrop{background:#14251ed0}.close{float:right;padding:2px 11px;font-size:24px;border:0}.scroll{overflow:auto}pre{white-space:pre-wrap;font-size:12px;max-height:400px;overflow:auto;background:var(--paper);padding:15px}.flow{counter-reset:step}.flow div{padding:17px 0;border-bottom:1px solid var(--line);display:flex;gap:15px}.flow div:before{counter-increment:step;content:counter(step);border:1px solid var(--line);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;color:var(--muted)}.flow strong{display:block}.subtle{background:#f7f8f3}.diff{padding:12px;background:#fff8e9;border-left:3px solid var(--gold);margin:10px 0}.version{font-size:10px;border:1px solid var(--line);padding:3px 8px;border-radius:10px}@media(max-width:1050px){main{padding:24px}.split{grid-template-columns:1fr}.shell{grid-template-columns:190px 1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.shell{display:block}aside{height:auto;position:static;padding:15px}.brand{margin:0 0 12px}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap}.aside-bottom{display:none}.heading{align-items:flex-start;flex-direction:column}h1{font-size:28px}.grid,.grid.three{grid-template-columns:1fr}.hero{display:block}.topbar{margin-bottom:20px}main{padding:20px 14px}.card{padding:18px}.savebar{flex-wrap:wrap}.stats{gap:10px}}
