:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171717;background:#f4f4f2;--border:#d4d4cf;--panel:#fff;--muted:#62625f;--accent:#236a42;--danger:#a12f2f;--warning:#80610e;--ink:#171717;font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%;background:#f4f4f2}body{margin:0;min-height:100vh;background:#f4f4f2}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:2px 0 0;font-size:clamp(28px,8vw,42px);line-height:1;letter-spacing:-.035em}h2{margin:10px 0;font-size:30px}h3{margin:0 0 8px;font-size:20px}.hidden{display:none!important}.invisible{visibility:hidden;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--muted)}.lead{font-size:18px;color:#4b4b4b;line-height:1.45}.lead.small{font-size:15px}.no-margin{margin:0}.fine-print{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.helper{color:var(--muted);font-size:13px;line-height:1.45}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(100%,470px);padding:28px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 16px 44px rgba(0,0,0,.08)}.auth-card.compact{max-width:410px}.brand-mark{width:58px;height:58px;display:grid;place-items:center;margin-bottom:22px;border-radius:16px;color:#fff;background:#171717;font-weight:950}.form-stack{display:grid;gap:14px;margin-top:22px}label{display:grid;gap:7px;font-size:14px;font-weight:850;color:#3f3f3d}input,textarea,select{width:100%;min-height:48px;border:2px solid var(--border);border-radius:13px;padding:12px 14px;color:#171717;background:#fff;outline:0;font-size:16px}input:focus,textarea:focus,select:focus{border-color:#5d5d58;box-shadow:0 0 0 3px rgba(0,0,0,.08)}textarea{resize:vertical}
.app-shell{max-width:760px;margin:0 auto;min-height:100vh;padding:max(18px,env(safe-area-inset-top)) 16px calc(44px + env(safe-area-inset-bottom))}.topbar{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:start;gap:10px;margin-bottom:20px}.title-wrap{min-width:0}.icon-btn{width:48px;height:48px;border-radius:14px;border:1px solid var(--border);background:var(--panel);font-size:25px}.screen{display:none}.screen.active{display:block;animation:screenIn .16s ease-out}@keyframes screenIn{from{opacity:.35;transform:translateY(3px)}}.center-screen{text-align:center;padding-top:40px}
.big-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.big-btn{min-height:104px;border-radius:18px;border:2px solid #cfcfca;background:#fff;padding:16px;text-align:left;font-size:23px;font-weight:900;box-shadow:0 2px 0 rgba(0,0,0,.05)}.big-btn:active{transform:translateY(1px)}.start-actions{margin-top:18px}.primary-action,.secondary-action,.text-action{width:100%;min-height:56px;border-radius:16px;padding:14px 16px;font-size:17px;font-weight:950;margin-top:10px}.primary-action{border:0;background:#171717;color:#fff}.secondary-action{border:1px solid var(--border);background:#fff;color:#222}.text-action{min-height:44px;border:0;background:transparent;color:#555;text-decoration:underline;font-size:13px}.primary-action:disabled,.secondary-action:disabled{opacity:.55;cursor:wait}
.status-pill{display:inline-block;margin-bottom:16px;border-radius:999px;padding:8px 12px;background:#e5eee9;color:#234f36;font-weight:850}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pill-row .status-pill{margin-bottom:0}.secondary-pill{background:#e9e8e5;color:#3f3f3f}.field-label{display:block;margin-bottom:7px;color:#444;font-size:14px;font-weight:850}.search,.number-input{font-size:18px}.number-input{max-width:260px}.number-input:disabled{background:#ecece8;color:#888}.card-list{display:grid;gap:10px;margin-top:14px}.machine-card,.history-card,.asset-record-card{width:100%;border:1px solid var(--border);border-radius:16px;padding:14px;text-align:left;background:#fff}.machine-card strong{display:block;font-size:22px}.machine-card small{color:var(--muted);font-size:13px}.machine-hero{margin-bottom:18px;border-radius:18px;padding:18px;color:#fff;background:#222}.machine-hero .fleet{font-size:31px;font-weight:950}.machine-hero .meta{margin-top:4px;color:#d7d7d7}.empty-card{padding:24px;border:1px dashed #aaa;border-radius:16px;text-align:center;background:#fff}.empty-card p{margin:0 0 14px;color:var(--muted)}
.field-card{margin-bottom:12px;border:1px solid var(--border);border-radius:16px;padding:14px;background:#fff}.required-note{margin-top:7px;color:var(--danger);font-size:13px;font-weight:800}.fault-toggle{display:flex;grid-template-columns:auto 1fr;align-items:start;gap:10px;margin-top:16px;font-weight:850;line-height:1.3}.fault-toggle input{width:22px;height:22px;min-height:22px;padding:0;flex:0 0 auto}.fault-note{display:none;margin-top:12px;border-color:#d29a9a}.fault-note.show{display:block}.check-item{margin-bottom:10px;border:1px solid var(--border);border-radius:16px;padding:14px;background:#fff}.check-title{margin-bottom:10px;font-size:18px;font-weight:900}.check-subtext{margin:-3px 0 10px;padding:8px 10px;border-radius:10px;background:#f2f2ef;color:#494949;font-size:14px;font-weight:850}.multi-hint{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.critical-tag{float:right;border-radius:999px;padding:3px 7px;color:#8c2c2c;background:#f8e4e4;font-size:10px;letter-spacing:.05em}.check-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.check-actions.two{grid-template-columns:repeat(2,1fr)}.choice{min-height:48px;border:1px solid #c8c8c4;border-radius:12px;padding:8px;background:#fafafa;font-weight:850}.choice.selected{outline:3px solid #222;background:#eee}.choice.problem.selected{outline-color:var(--danger);background:#faeaea}.choice.warning.selected{outline-color:#85630d;background:#fff6d8}.problem-note{display:none;width:100%;margin-top:10px}.problem-note.show{display:block}.inline-photo{width:100%;min-height:48px;margin-top:10px;border:0;border-radius:12px;color:#fff;background:#222;font-weight:900}.hidden-action{display:none}.item-photo-count{margin-top:7px;color:#28533a;font-size:13px;font-weight:850}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.photo-action{min-height:56px;border:0;border-radius:14px;color:#fff;background:#171717;font-weight:950}.photo-action.secondary{border:1px solid var(--border);color:#222;background:#fff}.hidden-file{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;opacity:0;pointer-events:none}.photo-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.photo-preview img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:10px}.success-icon{width:92px;height:92px;display:grid;place-items:center;margin:0 auto;border-radius:50%;color:var(--accent);background:#dcecdf;font-size:54px;font-weight:950}
.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-select{width:auto;min-width:150px;min-height:42px;padding:8px 10px;font-size:14px}.history-card{cursor:pointer}.history-top{display:flex;justify-content:space-between;gap:12px}.history-card strong{font-size:18px}.history-card .meta{margin-top:6px;color:var(--muted);font-size:14px}.issues,.warnings{margin-top:10px;padding-top:10px;border-top:1px solid #eee;font-weight:750}.issues{color:var(--danger)}.warnings{color:#76590d}.demo-banner{margin-bottom:12px;border:1px solid #e2c66b;border-radius:12px;padding:10px 12px;color:#5b4905;background:#fff3cd;font-size:13px;font-weight:850}.asset-search-label{margin-top:20px}.asset-record-card .asset-line{display:flex;align-items:start;justify-content:space-between;gap:12px}.asset-record-card strong{font-size:20px}.review-badge{flex:0 0 auto;border-radius:999px;padding:5px 9px;background:#eee;font-size:11px;font-weight:950;white-space:nowrap}.review-badge.review{color:#6d5600;background:#fff3cd}.review-badge.approved{color:#245b37;background:#dcecdf}.progress-row{margin:8px 0 14px;font-size:12px}.asset-progress{height:8px;margin-top:7px;overflow:hidden;border-radius:99px;background:#ddd}.asset-progress>div{width:0;height:100%;background:#222;transition:width .2s}.asset-section-title{margin:26px 2px 10px;padding-bottom:7px;border-bottom:2px solid #222;font-size:20px}.asset-question{margin-bottom:10px;border:1px solid var(--border);border-radius:16px;padding:14px;background:#fff}.asset-question.required .asset-q-title:after{content:' *';color:var(--danger)}.asset-q-title{margin-bottom:5px;font-size:17px;font-weight:950}.asset-q-prompt{margin-bottom:10px;color:var(--muted);font-size:13px}.asset-q-source{margin-bottom:9px;color:#6a6a6a;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.asset-input,.asset-select{font-size:17px}.asset-answer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.asset-camera-btn,.asset-clear-btn{min-height:48px;border-radius:12px;font-weight:900}.asset-camera-btn{border:0;color:#fff;background:#222}.asset-clear-btn{border:1px solid var(--border);background:#fff}.asset-photo-preview{display:flex;align-items:center;gap:8px;margin-top:9px;color:#28533a;font-size:13px;font-weight:850}.asset-photo-preview img{width:72px;height:72px;object-fit:cover;border:1px solid var(--border);border-radius:10px}.asset-save-actions{position:sticky;bottom:0;padding:10px 0 max(4px,env(safe-area-inset-bottom));background:rgba(244,244,242,.96);backdrop-filter:blur(8px)}.asset-save-actions .secondary-action,.asset-save-actions .primary-action{margin-top:6px}
.settings-card{margin-bottom:12px;border:1px solid var(--border);border-radius:16px;padding:16px;background:#fff}.settings-card p{margin:5px 0 12px;color:var(--muted);font-size:14px;line-height:1.5}.info-note{margin-top:10px;border-radius:10px;padding:11px;background:#f0f0ed;color:#555;font-size:13px;line-height:1.55}.two-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.two-actions .secondary-action{margin-top:0}.file-label{display:grid;place-items:center}.local-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#bf7a22}.detail-dialog{width:min(100% - 24px,600px);max-height:calc(100vh - 32px);padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.28)}.detail-dialog::backdrop{background:rgba(0,0,0,.55)}.detail-inner{padding:20px;overflow:auto}.detail-close{float:right}.detail-checklist{display:grid;gap:7px;margin-top:16px}.detail-check{padding:10px;border-radius:10px;background:#f3f3f0}.detail-check.flag{background:#faeaea}.detail-check.warning{background:#fff6d8}.attachment-links{display:grid;gap:6px;margin-top:12px}.attachment-link{width:100%;min-height:42px;border:1px solid var(--border);border-radius:10px;text-align:left;background:#fff}.toast{position:fixed;z-index:100;top:max(14px,env(safe-area-inset-top));left:50%;max-width:calc(100vw - 28px);padding:11px 15px;border-radius:10px;color:#fff;background:#222;box-shadow:0 10px 30px rgba(0,0,0,.22);font-size:13px;font-weight:850;opacity:0;pointer-events:none;transform:translate(-50%,-10px);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:var(--danger)}
@media(max-width:460px){.app-shell{padding-left:12px;padding-right:12px}.big-grid{grid-template-columns:1fr}.big-btn{min-height:88px;font-size:22px}.check-actions{grid-template-columns:1fr}.check-actions.two{grid-template-columns:1fr 1fr}.photo-actions,.two-actions{grid-template-columns:1fr}.photo-preview{grid-template-columns:repeat(3,1fr)}.section-row{align-items:stretch;flex-direction:column}.compact-select{width:100%}.asset-answer-actions{grid-template-columns:1fr}.auth-card{padding:23px 19px}}

/* Cloud-connected additions */
.topbar{grid-template-columns:50px minmax(0,1fr) auto 50px;gap:8px}
.sync-chip{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;margin-top:3px;border:1px solid #b7d7c1;border-radius:999px;padding:0 11px;color:#1d5b35;background:#e8f5ec;font-size:11px;font-weight:950}
.sync-chip.syncing{color:#6b5300;background:#fff3cd}
.sync-chip.error{color:#8b2626;background:#faeaea}
.demo-banner.cloud-ready{border-color:#b7d7c1;color:#205a36;background:#e8f5ec}
.two-actions .primary-action{margin-top:0}
.local-dot.cloud-dot{background:#2e8a4d}

@media(max-width:460px){
  .topbar{grid-template-columns:46px minmax(0,1fr) 42px 46px}
  .sync-chip{width:42px;padding:0}
  .sync-chip #sync-label{display:none}
}
