*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#f8f9fa;color:#212529;line-height:1.6}#app{max-width:480px;margin:0 auto;padding:16px}header{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:2px solid #495057}h1{font-size:1.1rem;color:#495057}h2{font-size:1rem;margin-bottom:12px}section{background:#fff;border-radius:8px;padding:24px;margin-top:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}form{display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:0.9rem}input,select,textarea{padding:10px;border:1px solid #ced4da;border-radius:6px;font-size:1rem;font-family:inherit;width:100%}button{padding:12px;border:none;border-radius:6px;background:#495057;color:#fff;font-size:1rem;cursor:pointer}button:disabled{background:#adb5bd;cursor:not-allowed}.error{color:#c92a2a;font-size:0.85rem}.status{color:#2b8a3e;font-weight:600;margin-top:8px}.hidden{display:none}
/* --- tabs ------------------------------------------------------------- */
nav#tabs{display:flex;gap:4px;margin-top:16px}
nav#tabs button{flex:1;padding:10px 6px;font-size:0.85rem;background:#e9ecef;color:#495057;border-radius:6px 6px 0 0}
nav#tabs button[aria-selected="true"]{background:#495057;color:#fff;font-weight:600}
/* --- summary strip ---------------------------------------------------- */
.summary{display:flex;gap:8px;margin-bottom:16px}
.summary .stat{flex:1;background:#f1f3f5;border-radius:6px;padding:10px;text-align:center}
.summary .stat b{display:block;font-size:1.3rem;color:#212529;line-height:1.2}
.summary .stat span{font-size:0.7rem;color:#6c757d;text-transform:uppercase;letter-spacing:0.03em}
/* --- inline field rows ------------------------------------------------ */
.row{display:flex;gap:12px}
.row label{flex:1}
.checks{display:flex;flex-direction:column;gap:6px;font-size:0.9rem}
.checks label{flex-direction:row;align-items:center;gap:8px}
.checks input{width:auto}
.hint{font-size:0.78rem;color:#6c757d;font-weight:400}
/* --- history lists ---------------------------------------------------- */
.entries{list-style:none;margin-top:8px;font-size:0.85rem}
.entries li{padding:8px 0;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;gap:8px}
.entries li:last-child{border-bottom:none}
.entries .when{color:#6c757d}
.empty{color:#868e96;font-size:0.85rem;font-style:italic}
/* --- assessments ------------------------------------------------------ */
.qitem{border-bottom:1px solid #e9ecef;padding:10px 0}
.qitem p{font-size:0.9rem;margin-bottom:6px}
.qopts{display:flex;flex-wrap:wrap;gap:6px}
.qopts label{flex-direction:row;align-items:center;gap:4px;font-size:0.8rem;background:#f1f3f5;border-radius:4px;padding:4px 8px;cursor:pointer}
.qopts input{width:auto}
.flag{display:inline-block;font-size:0.72rem;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:0.03em}
.flag-ok{background:#d3f9d8;color:#2b8a3e}
.flag-warn{background:#fff3bf;color:#845ef7}
.flag-alert{background:#ffe3e3;color:#c92a2a}
.boundary{font-size:0.75rem;color:#868e96;margin-top:14px;line-height:1.4}
