*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#172033;font-family:Arial,Noto Sans TC,sans-serif}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.card,.panel{background:#fff;border:1px solid #e5eaf1;border-radius:16px;padding:24px;box-shadow:0 8px 28px #15233b0b}.card{width:min(420px,100%)}.brand{font-size:22px;font-weight:800;color:#176b58}.card p{color:#657287}label{display:block;font-weight:650;margin:16px 0}input,select,textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #ccd5e1;border-radius:9px;font:inherit;background:#fff}button{border:0;border-radius:9px;padding:11px 16px;background:#176b58;color:#fff;font-weight:700;cursor:pointer}button:disabled{opacity:.6}.subtle{background:#edf3f1;color:#176b58}.shell{max-width:1440px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:18px 22px;border-radius:14px;margin-bottom:20px}header small{color:#667085}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.panel h2{margin-top:0}.store-meta{padding:12px;background:#eef7f3;border-radius:8px;color:#176b58}.scorehead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.scorehead b{color:#176b58}.question{padding:16px 0;border-bottom:1px solid #e8edf2}.qtitle{font-weight:750}.question p{line-height:1.65;color:#536174;white-space:normal}.scores{display:flex;gap:8px;flex-wrap:wrap}.scores button{background:#edf1f5;color:#334155;min-width:58px}.scores button.chosen{background:#176b58;color:#fff}.signature{margin:20px 0}.signature .row{display:flex;justify-content:space-between;align-items:center}.signature canvas{display:block;width:100%;height:150px;border:1px dashed #9aa8b8;border-radius:8px;touch-action:none;margin-top:10px;background:#fff}.signature small,.muted{color:#7b8797}.notice{color:#a33b26;white-space:pre-wrap}.auditrow{padding:12px 0;border-bottom:1px solid #edf0f4;display:grid;gap:6px}.auditrow span{font-size:13px;color:#68758a}footer{padding:18px;color:#68758a}@media(max-width:900px){.layout{grid-template-columns:1fr}.shell{padding:12px}.scorehead{align-items:flex-start;flex-direction:column}}
