:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#1f2d29;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.shell{max-width:1320px;margin:auto;padding:0 25px}header{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid #e1e7e1}header .brand{display:flex;align-items:center;gap:12px}header small{font-size:11px;display:block;color:#7c8981;margin-top:2px}.mark{background:#245e48;color:white;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;font-size:27px;font-weight:700}.brand b{font-size:20px}nav{display:flex;align-items:center;gap:26px}nav form{margin:0}main{min-height:75vh}.heading{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:30px 0 20px}.heading h1{font-size:clamp(24px,3vw,33px);letter-spacing:-.025em;margin:0}.pill,.status{border-radius:999px;font-size:12px;padding:6px 10px;background:#eff0e9;color:#66735b;white-space:nowrap}.status.ok{background:#e5f6ec;color:#217547}.status:not(.ok){background:#fff6df;color:#8d6808}.card{border:1px solid #e1e9e1;background:white;border-radius:17px;padding:25px;margin-bottom:20px;box-shadow:0 7px 22px #23432406}.card h2{font-size:19px;margin:0 0 13px}.card h3{font-size:15px;margin:26px 0 12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two.product{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}p{line-height:1.56}.muted,.hint{color:#728077}.hint{font-size:13px;margin-top:15px}.note{padding:15px;background:#eef6ee;border-radius:10px;color:#49684d;margin-top:15px}form label{display:block;font-size:13px;color:#52685c;font-weight:600;margin:17px 0 14px}input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;border:1px solid #d6dfd7;border-radius:9px;background:#fff;padding:12px;color:#1d2e22;font-size:14px;margin-top:7px}textarea{resize:vertical;min-height:105px}input:focus,select:focus,textarea:focus{outline:2px solid #9cc7a5;border-color:#8bb49c}button,.button{display:inline-block;border:1px solid #cfdcd0;background:#f8faf8;color:#30563e;border-radius:9px;padding:10px 16px;font-weight:650;font-size:13px;cursor:pointer;white-space:nowrap}.primary{background:#215f46;border-color:#215f46;color:white}.primary:hover{background:#194b37}.button:hover,button:hover{filter:brightness(.97)}.link{background:none;border:0;padding:0;color:#60796a}.narrow{max-width:480px;margin:55px auto}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:20px}.toolbar form{margin:0}.action{color:#24694c;font-weight:650;font-size:13px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#78867c;font-weight:650;border-bottom:1px solid #e4e9e5;padding:14px 8px}td{border-bottom:1px solid #eef2ef;padding:14px 8px;vertical-align:middle}td:first-child{font-weight:580}.assign{display:flex;gap:9px;align-items:center}.assign select{max-width:350px;margin:0;padding:9px}.assign button{padding:9px 12px}.source-block{background:#f8faf8;border:1px solid #e9eee9;border-radius:11px;padding:13px;margin-bottom:12px}.source-block p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:190px;overflow:auto}.source-block select{width:auto;flex:1}.check{display:flex;gap:8px;align-items:center;font-weight:400}.check input{width:18px;height:18px}.audit{font-size:12px;color:#738275;border-bottom:1px solid #edf1ed;padding:5px 0}.warn,.error{color:#aa6024}.flash{border-radius:11px;margin:0 0 18px;padding:14px 18px;background:#e5f4ec;border:1px solid #b8dbc9;color:#236342;font-size:14px}hr{border:0;border-top:1px solid #e4eae4;margin:23px 0}footer{padding:26px 0;font-size:12px;color:#9aa69d}@media(max-width:850px){.two,.two.product{grid-template-columns:1fr}.shell{padding:0 13px}.card{padding:17px}.heading{margin-top:20px}header{padding:17px 0}}@media(max-width:500px){.assign{flex-wrap:wrap}.assign select{width:100%;max-width:none}}

/* v2: photo gallery and existing NaturIng-like application preview */
.jar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:18px 0}
.jar-card{border:1px solid #d9e2da;border-radius:11px;padding:9px;margin:0;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12px;cursor:pointer;background:#fff;overflow-wrap:anywhere;min-width:0}
.jar-card img{width:100%;aspect-ratio:1;object-fit:contain;background:#f8f9f6;border-radius:7px}
.jar-card small{font-size:11px;text-align:center;max-width:100%;overflow-wrap:anywhere}
.jar-card:has(input:checked){border:2px solid #245e48;background:#f1f8f4}
.jar-card input[type=radio]{width:16px;height:16px;align-self:flex-start;margin:0}
input[type=radio]{width:16px;height:16px;padding:0}
.no-image{flex:1;display:grid;place-items:center;color:#768177;min-height:90px;font-size:12px;text-align:center}
.selected-image{max-width:230px;border:1px solid #e2e8e2;border-radius:12px;padding:10px}
.selected-image img{width:100%;aspect-ratio:1;object-fit:contain}
.app-preview{margin:14px 0}
.app-preview-title{padding:13px 18px;background:#f4f2ec;border:1px solid #e8e4da;border-radius:13px;font-weight:750;color:#22493b}
.app-preview-text{white-space:pre-wrap;padding:10px 16px;line-height:1.6;color:#586b65}
.inline-form{display:inline-block;margin-left:9px}.inline-form button{font-size:12px;padding:7px 9px}
/* v3: specification preview and PDF attach controls */
.spec-preview{margin:14px 0;border:1px solid #dce6dc}.spec-preview th{background:#f1f3ee;color:#335444}.spec-preview td{font-weight:400;white-space:pre-wrap;min-width:140px}.spec-preview th,.spec-preview td{vertical-align:top;border:1px solid #e5ebe6;padding:12px;font-size:13px}.pdf-attach{padding:10px 16px;background:#f8faf8;border:1px solid #e2e9e2;border-radius:11px;margin:12px 0}.pdf-attach label{margin-top:0}
