:root{--bg: #000000;--card: #0a0a0a;--card-2: #131313;--border: #2a2a2a;--title: #ffffff;--body: #d4d4d4;--lbl: #9a9a9a;--muted: #6a6a6a;--gold: #c9a84c;--blue: #4a8cff;--green: #4caf50;--orange: #ff9800;--red: #f44336;--grey: #757575;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--body);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}body{overscroll-behavior-y:contain}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}input,textarea,select{font:inherit;color:var(--title);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)}textarea{resize:vertical;min-height:80px}.app-shell{max-width:600px;margin:0 auto;padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 80px);min-height:100vh}.appbar{position:sticky;top:0;z-index:10;background:#000000eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:calc(var(--safe-top) + 12px) 16px 12px;margin:0 -16px 16px}.appbar-row{display:flex;align-items:center;gap:12px}.appbar h1{margin:0;font-size:18px;font-weight:600;color:var(--title)}.brand-gold{color:var(--gold)}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:14px}.card-2{background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:12px}.card-title{margin:0 0 12px;color:var(--title);font-size:15px;font-weight:600}.card-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.label{display:block;color:var(--lbl);font-size:12px;font-weight:500;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.field{margin-bottom:12px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kpi{background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}.kpi .value{color:var(--gold);font-size:18px;font-weight:700;margin-bottom:2px}.kpi .label{margin:0;font-size:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid transparent;transition:opacity .15s,transform .05s;min-height:44px;width:100%}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--gold);color:#000}.btn-secondary{background:var(--card);color:var(--title);border-color:var(--border)}.btn-ghost{background:transparent;color:var(--gold)}.btn-danger{background:var(--red);color:#fff}.pill{display:inline-block;font-size:11px;padding:4px 10px;border-radius:999px;font-weight:600;letter-spacing:.03em}.pill-grey{background:#2a2a2a;color:#ccc}.pill-blue{background:#4a8cff2e;color:var(--blue)}.pill-green{background:#4caf502e;color:var(--green)}.pill-orange{background:#ff98002e;color:var(--orange)}.pill-red{background:#f443362e;color:var(--red)}.pill-gold{background:#c9a84c2e;color:var(--gold)}.checkrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.checkrow:last-child{border-bottom:none}.checkrow-label{flex:1;color:var(--body);font-size:13px}.checkbtns{display:flex;gap:4px}.checkbtn{width:32px;height:32px;border-radius:8px;background:var(--card-2);border:1px solid var(--border);font-size:14px;color:var(--lbl);font-weight:700}.checkbtn.active-pass{background:var(--green);color:#fff;border-color:var(--green)}.checkbtn.active-fail{background:var(--red);color:#fff;border-color:var(--red)}.checkbtn.active-na{background:var(--grey);color:#fff;border-color:var(--grey)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:12px}.photo-tile{position:relative;aspect-ratio:1 / 1;background:var(--card-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent 40%);display:flex;align-items:flex-end;padding:6px;font-size:11px;color:#fff}.photo-tile .del{position:absolute;top:4px;right:4px;background:#0009;color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}.phase-bar{display:flex;gap:4px;margin-bottom:16px}.phase-step{flex:1;height:4px;border-radius:2px;background:var(--border)}.phase-step.active{background:var(--gold)}.phase-step.done{background:var(--green)}.toast{position:fixed;bottom:calc(var(--safe-bottom) + 20px);left:50%;transform:translate(-50%);background:var(--card);color:var(--title);border:1px solid var(--gold);border-radius:10px;padding:12px 18px;font-size:14px;z-index:100}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-muted{color:var(--muted)}.text-gold{color:var(--gold)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-small{font-size:12px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-16{margin-bottom:16px}.gap-8{gap:8px}.flex{display:flex}.flex-col{flex-direction:column}.flex-between{display:flex;justify-content:space-between;align-items:center}.report-md h1,.report-md h2,.report-md h3{color:var(--gold);margin-top:18px}.report-md h1{font-size:18px}.report-md h2{font-size:16px}.report-md h3{font-size:14px}.report-md p{color:var(--body)}.report-md ul{padding-left:18px}.report-md strong{color:var(--title)}.report-md hr{border:none;border-top:1px solid var(--border);margin:18px 0}.report-md code{background:var(--card-2);padding:2px 6px;border-radius:4px;font-size:13px}
