*{box-sizing:border-box}body{margin:0;background:#f5f3ef;color:#353631;font:15px system-ui}header{height:78px;padding:0 5%;display:flex;align-items:center;gap:15px;border-bottom:1px solid #deded7;background:#fff}header span:not(.logo){color:#81847b;font-size:13px}header small{margin-left:auto}.logo{background:#476a57;color:white;border-radius:12px;padding:9px 14px;font-size:25px}main{display:grid;grid-template-columns:350px 1fr;max-width:1350px;margin:36px auto;gap:45px;padding:0 28px}h1{font:42px Georgia;margin:16px 0;color:#35523f}p{line-height:1.6;color:#74786e}.eyebrow{font-size:10px;letter-spacing:2px;color:#8b7964}label{display:block;margin:17px 0 9px;font-size:12px;font-weight:600}input:not([type=file]),select{display:block;width:100%;margin-top:8px;padding:11px;border:1px solid #d7d9d0;background:#fff;border-radius:8px;font:14px system-ui}input[type=range]{padding:0;accent-color:#53705c}input[type=color]{height:43px;padding:4px}input[type=file]{display:none}.upload{padding:24px 15px;border:1px dashed #839b84;border-radius:12px;background:#eaf0e7;text-align:center;cursor:pointer;color:#385542}small{font-size:11px;line-height:1.5;color:#787e71;display:block}.row{display:flex;gap:12px}.row label{flex:1}button{border:0;border-radius:9px;background:#466650;color:white;padding:14px 17px;cursor:pointer;font:600 13px system-ui;width:100%;margin:8px 0}button:disabled{opacity:.45;cursor:wait}.secondary{background:white;border:1px solid #d7d9d0;color:#52664e}details{padding:15px 0;border-bottom:1px solid #ddd}summary{cursor:pointer;font-size:13px}#status{font-size:12px}nav{display:flex;gap:6px;margin:0 0 22px}nav button{width:auto;background:transparent;color:#777d70;margin:0}nav .active{background:#fff;color:#466650;box-shadow:0 2px 5px #0001}.preview{padding:28px;background:#e5e8df;border-radius:20px;display:flex;justify-content:center;min-height:640px}canvas{width:420px;max-width:100%;height:auto;align-self:start;background:white;box-shadow:0 15px 40px #34452a20}.caption{text-align:center;font-size:11px}.assembly{padding:20px;background:white;border-radius:12px}li{padding:6px;color:#68725e;font-size:13px;line-height:1.5}#printSheets{display:none}@media(max-width:800px){main{grid-template-columns:1fr;padding:0 18px;gap:20px}header span:not(.logo){display:none}.preview{min-height:0}nav{flex-wrap:wrap}}@media print{@page{size:A4;margin:0}header,main{display:none}body{background:white}#printSheets{display:block}.printSheet{width:210mm;height:297mm;position:relative;break-after:page}.printSheet:last-child{break-after:auto}.printSheet img{position:absolute;left:31mm;top:35mm;width:148mm;height:210mm;border:0.2mm dashed #999}.printSheet .measure{position:absolute;left:31mm;top:259mm;width:50mm;border-top:0.3mm solid black;font:10pt Arial}.printSheet .note{position:absolute;left:31mm;top:15mm;font:10pt Arial}}

nav{flex-wrap:wrap}nav button{padding:10px 12px}

.preview{background:#e5ded7}h1{color:#64493f}.logo,button{background:#876c61}nav .active{color:#876c61}.upload{background:#f5eae3;border-color:#b8917d;color:#745344}input[type=range]{accent-color:#a97868}

#catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin-bottom:24px}.outfitCard{background:white;border:1px solid #e4ddd5;border-radius:12px;padding:10px}.outfitCard canvas{width:100%;box-shadow:none;background:white}.outfitCard label{margin:8px;font-weight:400}.outfitCard input[type=checkbox]{display:inline;width:auto;accent-color:#876c61}.outfitCard button{font-size:11px;padding:8px;min-height:42px}.preview{min-height:0}
header button{width:auto;margin-left:12px}.steps{display:flex;gap:10px;justify-content:center;margin:24px auto 0;max-width:1200px}.steps span{padding:12px 20px;border-radius:9px;background:#e8e4df;color:#837569;font-size:13px}.steps .active{background:#876c61;color:white}.steps .done{background:#e2ebdf;color:#4d6b4f}main{grid-template-columns:370px 1fr;gap:32px;margin-top:25px;max-width:1440px}h1{font-size:34px}#photoThumb{width:90px;height:100px;object-fit:cover;border-radius:8px;margin:12px 0}.camera{padding:12px;margin-top:8px}.checkline{font-size:13px;line-height:1.5;display:flex;gap:8px;align-items:start}.checkline input[type=checkbox]{display:inline;width:auto;margin:4px 0;accent-color:#876c61}.hint{font-size:12px;color:#826654}#progress{height:5px;background:#e2dbd5;border-radius:5px;overflow:hidden}#progress span{display:block;width:35%;height:100%;background:#a9806e;animation:progress 1.8s ease-in-out infinite alternate}@keyframes progress{to{transform:translateX(185%)}}#accessoryCatalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.catalogHeading h2,#accessoryPanel h2{font:25px Georgia;color:#64493f;margin-bottom:8px}#catalogPanel,#accessoryPanel{margin:24px 0}#tryControls label{margin-top:0}#tryControls select{font-size:16px;padding:14px}#tryControls{max-width:500px;margin-bottom:18px}.workspace nav{position:sticky;top:0;background:#f5f3ef;padding:8px 0;z-index:1}[hidden]{display:none!important}@media(max-width:900px){main{grid-template-columns:1fr}.steps{flex-wrap:wrap;padding:0 10px}.steps span{padding:9px 12px;font-size:11px}header{padding:10px 16px;height:auto;flex-wrap:wrap}header small{margin-left:0}header button{padding:10px;margin-left:auto}h1{font-size:30px}}@media print{.steps{display:none}}
.loginBody{min-height:100vh;display:grid;place-items:center;padding:24px}.loginCard{display:block;width:min(100%,440px);padding:36px;border-radius:24px;background:#fff;box-shadow:0 16px 64px #735b7020}.loginCard h1{margin:14px 0}.loginCard form{margin:24px 0}.loginCard button{width:100%}#logout{width:auto;padding:8px 16px}

@media print{.printSheet img{border:0;outline:0.2mm dashed #999}.steps{display:none}}
