:root{font-family:Segoe UI,Arial,sans-serif;color:#27342d;background:#f2f1ec;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app{min-height:100vh}header{height:78px;background:#263a31;color:#f8f3e8;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:3px solid #bb9f6c}.brand{display:flex;align-items:center;gap:13px}.brandmark{font-size:38px;color:#d7b982;line-height:1}.brand strong{font-family:Georgia,serif;font-size:24px;letter-spacing:.16em;display:block;line-height:1}.brand small{font-size:9px;letter-spacing:.28em;color:#d1d7c6}.headernote{font-family:Georgia,serif;font-style:italic;font-size:17px;color:#d8dbcc}.status{font-size:11px;letter-spacing:.06em;color:#d8dbcc}.status i{display:inline-block;width:7px;height:7px;background:#a7d49c;border-radius:50%;margin-right:8px}main{display:grid;grid-template-columns:minmax(250px,300px) minmax(500px,1fr) minmax(290px,340px);height:calc(100vh - 78px);min-height:720px}.panel{background:#faf9f5;padding:30px 25px;overflow:auto}.left{border-right:1px solid #d9dcd3}.right{border-left:1px solid #d9dcd3}.eyebrow{color:#9b7b48;text-transform:uppercase;font-size:10px;letter-spacing:.22em;font-weight:700}.panel h2{font-family:Georgia,serif;font-size:26px;font-weight:500;margin:12px 0 5px}.hint,.fine{color:#7a837a;font-size:12px;line-height:1.6;margin:4px 0 20px}.fine{font-size:11px;margin-top:18px}.upload{border:1px dashed #b6bbaa;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;position:relative;background:#f0f2eb;color:#415545;overflow:hidden;text-align:center;gap:5px}.upload img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.38}.upload strong,.upload small,.uploadicon{position:relative;z-index:1}.upload strong{font-size:13px}.upload small{font-size:10px}.uploadicon{width:44px;height:44px;border-radius:50%;background:#fff;font-size:28px;line-height:41px;color:#a47b42;margin-bottom:6px}.upload input,.import input{position:absolute;inset:0;opacity:0;cursor:pointer}.divider{border-top:1px solid #e1e3da;margin:24px 0}.panel h3{font-family:Georgia,serif;font-size:18px;font-weight:500;margin:0 0 13px}.field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;color:#5a655b;font-size:12px}.fieldinput{display:flex;align-items:center;border:1px solid #d8ddd2;border-radius:5px;background:#fff;width:103px;height:31px}.fieldinput input{border:0;background:transparent;width:70px;padding:4px 7px;color:#263a31;outline:none;font-size:12px}.fieldinput small{font-size:10px;color:#929b8e}.toggleline,.switches label{font-size:12px;color:#58685b;display:flex;align-items:center;gap:6px}.toggleline input,.switches input{accent-color:#49624e}.textbutton{display:block;margin:14px auto 0;background:none;border:0;color:#50705b;font-size:12px;text-decoration:underline;position:relative}.stage{background:#ecece5;display:flex;flex-direction:column;padding:28px 28px 20px;min-width:0}.stagehead{display:flex;justify-content:space-between;align-items:flex-start}.stage h1{font-family:Georgia,serif;font-size:clamp(30px,3vw,45px);font-weight:500;line-height:1.08;margin:11px 0 20px}.stage h1 em{color:#a77d48;font-weight:500}.modebadge{border:1px solid #bec4b7;padding:7px 10px;border-radius:20px;color:#67786c;font-size:10px;letter-spacing:.08em;white-space:nowrap}.canvas{flex:1;min-height:350px;position:relative;background:radial-gradient(circle at 48% 45%,#f8f8f1,#e3e7de 75%);border:1px solid #d6dbd1;border-radius:8px;overflow:hidden}.canvas canvas{display:block}.viewbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:3px;background:#fffdf8ed;padding:5px;border-radius:25px;box-shadow:0 3px 15px #2f3b2d22}.viewbar button{border:0;background:transparent;padding:7px 12px;border-radius:20px;font-size:11px;text-transform:capitalize;color:#637166}.viewbar button.active{background:#314b3d;color:#fff}.loading{position:absolute;top:18px;left:18px;background:#fffdf8e8;color:#475949;font-size:11px;padding:8px 12px;border-radius:5px}.stagefooter{display:flex;justify-content:space-between;align-items:center;margin:14px 0 0;gap:10px}.stagefooter>span{font-size:10px;color:#8b9589}.switches{display:flex;flex-wrap:wrap;gap:12px}.coverage{display:flex;gap:10px;align-items:center;color:#7d826e;font-size:11px;margin-top:10px}.coverage span{font-size:25px;color:#be9d63}.coverage p{margin:0;line-height:1.45}.coverage strong{color:#55624f;font-weight:600}.selectlabel{display:block;color:#69776a;font-size:11px;margin:14px 0}.selectlabel select{display:block;width:100%;height:35px;margin-top:6px;border:1px solid #d8ddd2;border-radius:5px;background:#fff;color:#354b3c;padding:0 8px;font-size:12px}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.fieldgrid .field{display:block;margin:8px 0}.fieldgrid .field>span:first-child{display:block;margin-bottom:4px}.fieldgrid .fieldinput{width:100%}.recommend{background:#e7eee4;color:#45694e;border:0;border-radius:5px;padding:8px 10px;font-size:11px;width:100%;text-align:left}.advanced{width:100%;text-align:left;border:0;border-top:1px solid #e1e3da;background:none;padding:15px 0 0;margin-top:20px;color:#4a6b50;font-size:12px;font-weight:700}.advancedfields{padding-top:8px}.report{border:1px solid #dce5d7;background:#f0f5ed;border-radius:6px;padding:10px 12px;font-size:11px}.report div{display:flex;justify-content:space-between;padding:4px 0;gap:10px}.report span{color:#788677}.report strong{color:#3c6447;font-weight:600;text-align:right}.warning{background:#faf0dc;border-left:3px solid #c2a269;padding:8px 10px;font-size:10px;color:#7e6843;line-height:1.5}.error{background:#f9e7e2;color:#a04737;padding:10px;border-radius:5px;font-size:11px;line-height:1.5}.export{width:100%;background:#344e3e;color:#fff;border:0;border-radius:5px;padding:14px;margin-top:16px;font-weight:600;font-size:12px;letter-spacing:.02em}.export:disabled{opacity:.5;cursor:default}.import{cursor:pointer;width:max-content}@media(max-width:1100px){main{grid-template-columns:250px minmax(400px,1fr);height:auto}.right{grid-column:1/-1;border-top:1px solid #d9dcd3;display:block}.stage{min-height:700px}.panel{overflow:visible}.right .fieldgrid{grid-template-columns:repeat(4,1fr)}}@media(max-width:720px){header{padding:0 17px}.headernote,.status{display:none}main{display:flex;flex-direction:column}.stage{order:0;min-height:650px;padding:22px 15px}.left{order:1}.right{order:2}.panel{padding:25px 18px}.right .fieldgrid{grid-template-columns:1fr 1fr}.stagefooter{align-items:flex-start;flex-direction:column}.modebadge{font-size:8px}}.photo-selected{display:flex;flex-direction:column;gap:10px}.photo-selected img{display:block;width:100%;height:230px;object-fit:contain;background:#e9ece6;border:1px solid #d6dbd1;border-radius:7px;opacity:1}.photo-change{display:block;position:relative;text-align:center;padding:9px 12px;background:#e7eee4;border-radius:5px;color:#3d5c45;font-size:12px;font-weight:600;cursor:pointer}.photo-change input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.refresh{border:1px solid #bccaba;border-radius:5px;background:#f8faf5;color:#3d5d45;font-weight:600;font-size:11px;padding:8px 11px;white-space:nowrap}.refresh:hover{background:#e8f0e5}.canvas-refresh{position:absolute;right:16px;top:16px;z-index:5;box-shadow:0 2px 12px #283a2b22}
