:root{font-family:Inter,Arial,sans-serif;color:#192f33;background:#f4f6f5;font-size:14px}*{box-sizing:border-box}body{margin:0}header{height:78px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4e1;background:white}.brand{font-size:28px;font-weight:800;letter-spacing:-1px}.brand span{font-size:11px;letter-spacing:2px;margin-left:18px;font-weight:600}h1{font-size:32px;margin:0 0 8px;letter-spacing:-1px}h2{font-size:15px;margin:0 0 15px}p{line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:#53736b;margin:0 0 10px}main{max-width:1540px;padding:35px 4%;margin:auto}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px}.panel{padding:20px;background:white;border:1px solid #dce4e1;border-radius:10px;margin-bottom:15px}.hint{font-size:12px;color:#647774;line-height:1.6}label{display:block;font-size:12px;font-weight:600;margin-bottom:12px}input:not([type=file]),select{display:block;width:100%;border:1px solid #cbd8d2;border-radius:6px;background:white;padding:11px;font:inherit;margin-top:6px;color:inherit}button,.button{border:1px solid #cbd8d2;background:white;border-radius:6px;padding:10px 13px;font:inherit;font-weight:600;font-size:12px;cursor:pointer;display:inline-block;text-align:center;text-decoration:none;color:inherit}button:hover,.button:hover{background:#edf3ef}.primary{background:#1d5146;color:white;border-color:#1d5146}.primary:hover{background:#143e35}button:disabled{opacity:.45;cursor:wait}.row{display:flex;gap:8px;align-items:center}.panel .row{margin:12px 0}.panel .button{width:100%;font-size:11px}.asset-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.asset-list button{padding:8px;min-width:0;font-size:10px;overflow-wrap:anywhere}.asset-list img{width:100%;height:62px;object-fit:contain;display:block;margin-bottom:7px}.editor{min-width:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.toolbar span{font-size:12px;min-width:85px;text-align:center}#stageWrap{padding:22px;background:#e3e9e6;border:1px solid #d3ded7;border-radius:10px}#stage{position:relative;max-width:800px;margin:auto;background:white;box-shadow:0 4px 20px #173b3117;line-height:0}#pageImage{display:block;width:100%;height:auto}#overlays{position:absolute;inset:0}.overlay{position:absolute;cursor:move;touch-action:none;user-select:none;object-fit:contain;outline:1px dashed #5c8677}.overlay.selected{outline:2px solid #1d5146;background:#1d51460a}.selection{padding:14px;background:white;border:1px solid #cbd8d2;border-radius:8px;margin-top:14px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.selection label{display:flex;align-items:center;gap:10px;margin:0;flex:1;min-width:170px}.selection input{padding:0;min-width:120px}.selection strong{font-size:12px;max-width:200px;overflow-wrap:anywhere}#empty{text-align:center;padding:100px 20px;background:white;border:1px dashed #b4c8be;border-radius:10px;color:#647774}.paper-icon{font-size:42px;margin-bottom:25px}#empty h2{font-size:22px;color:#193b32}.download-list a{display:block;color:#1d5146;font-size:12px;overflow-wrap:anywhere;margin-bottom:12px;line-height:1.5}.note{padding:12px;background:#fff3db;color:#755713;font-size:12px;border-radius:6px;margin-bottom:14px}.editor-hint{margin:14px 3px}#message{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#193b32;color:white;padding:15px 24px;border-radius:8px;max-width:90%;z-index:10;line-height:1.5}#login{max-width:580px;margin:70px auto;padding:20px}.login-card{background:white;border:1px solid #dce4e1;padding:42px;border-radius:12px}.login-card h1{font-size:40px}.login-card p:not(.eyebrow){color:#647774}.login-card form{margin-top:30px}.login-card button{width:100%}[hidden]{display:none!important}@media(max-width:900px){.layout{grid-template-columns:240px minmax(0,1fr)}main{padding:25px 18px}.panel{padding:14px}#stageWrap{padding:10px}}@media(max-width:680px){header{height:65px}.brand span{font-size:9px;margin-left:10px}.title{align-items:start;flex-direction:column}.layout{display:flex;flex-direction:column}.editor{order:-1}.toolbar{flex-wrap:wrap}h1{font-size:27px}aside{display:grid;grid-template-columns:1fr;gap:0}.login-card{padding:25px}.login-card h1{font-size:32px}}
